這是我的腳本:錯誤文件上傳
$today = mktime(0, 0, 0, date("m"), date("d"), date("y"));
$b= date("m/d/y", $today);
if ($_FILES["file$i"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file$i"]["error"] . "<br />";
}
else
{
// echo "Upload: " . $_FILES["file"]["name"] . "<br />";
// echo "Type: " . $_FILES["file"]["type"] . "<br />";
// echo "Size: " . ($_FILES["file"]["size"]/1024) . " Kb<br />";
// echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
$upload=$_FILES["file$i"]["name"];
$fileName = preg_replace('/[^\w\._]+/', '', $upload);
$filup=$b.$fileName;
echo $filup;
if (file_exists("upload/" . $filup))
{
echo $_FILES["file$i"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file$i"]["tmp_name"],
"upload/" . $filup);
$path="upload/" . $filup;
$temp="Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
$sql="insert into album(uid,path,cid,title) values('$uid','$path','$cid','$text[$i]') ";
mysql_query($sql) or die(mysql_error());
}
}
它顯示我此錯誤:
Warning: move_uploaded_file(upload/06/20/113.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\wamp\www\demo\editedfileupload\pr1\upload_file.php on line 31
第31行是:
echo $_FILES["file$i"]["name"] . " already exists. ";
鑑於警告說'move_uploaded_file(upload/06/20/113.jpg)',我猜想第31行實際上是'move_uploaded_file($ _ FILES [「file $ i」] [「tmp_name」],「upload/「。 $ filup);'。你確定這個文件存在嗎? – jtbandes
是這個文件存在,如果我使用$上傳而不是使用$ filup,它工作正常。當我使用日期時間戳時,只有這樣纔會出現以下錯誤。 – user799100
難道是Windows不允許文件和文件夾名稱中帶有正斜槓,就像您在日期中使用的那樣? – Ben