这是我的脚本:错误文件上传
$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