php 上传图片,一直提示warning: 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上
filename:
upload_file.php:
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]); 的结果
------解决方案--------------------
$type=strrchr($_files[file][name],.); //获取扩展名
move_uploaded_file($_files[file][tmp_name],
upload/ . time().$type); //以当前时间戳命名
------解决方案--------------------
引用:$type=strrchr($_files[file][name],.); //获取扩展名
move_uploaded_file($_files[file][tmp_name],
upload/ . time().$type); //以当前时间戳命名
引用:$type=strrchr($_files[file][name],.); //获取扩展名
move_uploaded_file($_files[file][tmp_name],
upload/ . time().$type); //以当前时间戳命名以时间戳明名是不错,但是有其他的好的方法吗
------解决方案--------------------
当然能,跟原来一样,还是在upload文件夹里面。
------解决方案--------------------
引用:我想问,用3楼的方法还能找到我的图片吗?
在文件名的前面加上了时间, 可以看看time()函数.
------解决方案--------------------
move_uploaded_file($_files[file][tmp_name],
upload/ . time().$type); //以当前时间戳命名
当你用这一行代码的时候,文件名加上时间戳.好好检查一遍吧.
------解决方案--------------------
如果出现错误,一步一步的来排查