php 上傳圖片,一直提示W(wǎng)arning: move_uploaded_file(.upload/en.jpg): failed to open stream
運行以下代碼,瀏覽器提示
Upload:?en.jpg
Type:?image/jpeg
Size:?54.5830078125?Kb
Temp?file:?/tmp/phpk0nLl5
Warning:?move_uploaded_file(.upload/en.jpg):?failed?to?open?stream:?No?such?file?or?directory?in?/var/www/html/bbs/upload_file.php?on?line?24?Warning:?move_uploaded_file():?Unable?to?move?'/tmp/phpk0nLl5'?to?'.upload/en.jpg'?in?/var/www/html/bbs/upload_file.php?on?line?24?Stored?in:?upload/en.jpg
求教,該怎樣解決???我的代碼運行在linux上
upload_file.php:
if?((($_FILES["file"]["type"]?==?"image/gif")
||?($_FILES["file"]["type"]?==?"image/jpeg")
||?($_FILES["file"]["type"]?==?"image/pjpeg")))
??{
??if?($_FILES["file"]["error"]?>?0)
????{
????echo?"Return?Code:?"?.?$_FILES["file"]["error"]?.?"
";
????}
??else
????{
????echo?"Upload:?"?.?$_FILES["file"]["name"]?.?"
";
????echo?"Type:?"?.?$_FILES["file"]["type"]?.?"
";
????echo?"Size:?"?.?($_FILES["file"]["size"]?/?1024)?.?"?Kb
";
????echo?"Temp?file:?"?.?$_FILES["file"]["tmp_name"]?.?"
";
????if?(file_exists("upload/"?.?$_FILES["file"]["name"]))
??????{
??????echo?$_FILES["file"]["name"]?.?"?already?exists.?";
??????}
????else
??????{
??????move_uploaded_file($_FILES["file"]["tmp_name"],
??????"upload/"?.?$_FILES["file"]["name"]);
??????echo?"Stored?in:?"?.?"upload/"?.?$_FILES["file"]["name"];
??????}
????}
??}
else
??{
??echo?"Invalid?file";
??}
?>
------解決方案--------------------目標目錄不存在
請不要自行處理錯誤
貼出?print_r($_FILES["file"]);?的結(jié)果
------解決方案--------------------$type=strrchr($_FILES["file"]["name"],".");?//獲取擴展名??move_uploaded_file($_FILES["file"]["tmp_name"],??????"upload/"?.?time().$type);?//以當前時間戳命名
------解決方案--------------------
以時間戳明名是不錯,但是有其他的好的方法嗎
------解決方案--------------------當然能,跟原來一樣,還是在upload文件夾里面。
------解決方案--------------------
在文件名的前面加上了時間,?可以看看time()函數(shù).
------解決方案--------------------move_uploaded_file($_FILES["file"]["tmp_name"],
??????"upload/"?.?time().$type);?//以當前時間戳命名
當你用這一行代碼的時候,文件名加上時間戳.好好檢查一遍吧.
------解決方案--------------------如果出現(xiàn)錯誤,一步一步的來排查