2013-10-12 53 views
0

當我嘗試了一些視頻上傳到服務器我得到這個錯誤:副本():文件名不能爲空 - 對於某些文件

copy(): Filename cannot be empty

我只得到了一段視頻,而不是對所有的他們,但他們都是mp4。

代碼:

$video_name = uniqid().'.'.$extension; 
$newname="videos/".$video_name; 
$copied = copy($_FILES['video_src']['tmp_name'], $newname); 

而且兩者post_max_sizeupload_max_filesize是setto 50MB的,而視頻是小於10MB。

有什麼想法?

+0

你爲什麼不使用['move_uploaded_file()以'](http://php.net/move_uploaded_file)? –

+0

你能''回覆$ _FILES ['video_src'] ['tmp_name']'befor you'copy()'it?這是什麼意思? – geomagas

+0

它空着,什麼都沒顯示。 我試圖將其替換爲move_uploaded_file(),但仍然沒有。 – assaf

回答

0

試試move_uploaded_file()函數。此外,你應該改變$newname

$video_name = uniqid().'.'.$extension; 
$newname="./videos/".$video_name; 
$orig = isset($_FILES['video_src']) && isset($_FILES['video_src']['tmp_name']) ? $_FILES['video_src']['tmp_name'] : ''; 
if (empty($orig)) { 
    echo "Uploaded file doesn't exist."; 
} 
$copied = move_uploaded_file($orig, $newname); 
// Optional 
if ($copied) { 
    echo "File moved."; 
} 
else { 
    echo "File not moved."; 
} 
+0

仍然無法正常工作。只是說「上傳的文件不存在」。 – assaf

+0

@assaf你可以暫時用下面的代碼替換你的代碼:'print_r($ _ FILES);'然後發佈輸出? – jerdiggity

+0

Array [(video_src] => Array([name] => asd.mp4 [type] => video/mp4 [tmp_name] => D:\ wamp \ tmp \ phpBFC4.tmp [error] => 0 [size] => 5510872))1 – assaf