每当我尝试移动文件时它都不起作用并显示“图像文件未上传”...我只是想知道错误的位置......
$target = '/var/www/student/public/myimage.jpg';
$destination = '/var/www/student/public/images/myimage.jpg';
if( move_uploaded_file( $target, $destination ) ) {
echo "Image file is successfully loaded";
} else {
echo "Image file not uploaded.";
}
tail -f /var/log/apache2/error.log
),但一无所获。有人能告诉我如何找出错误。有什么想法吗?
答案 0 :(得分:3)
如果您不使用HTTP POST上传方法,则可以使用rename()
rename($target, $destination);
答案 1 :(得分:2)
文件是否已在当前请求中上传?
move_uploaded_file
将拒绝移动未上传的文件。 (即$target
必须等于$_FILES[$field_name]['tmp_name']
如果先前已经上传,move_uploaded_file
将拒绝工作(如果它仍然存在 - 如果我没记错,如果你没有处理该上传文件,PHP会删除它)
如果实际上不已使用此请求上传的文件,则您需要使用rename
答案 2 :(得分:0)
move_uploaded_file()仅适用于http post文件。 http://php.net/manual/en/function.move-uploaded-file.php
要移动服务器上已有的文件,您必须复制该文件并取消链接旧文件
$target = '/var/www/student/public/myimage.jpg';
$destination = '/var/www/student/public/images/myimage.jpg';
if (copy($target, $destination)) {
unlink($target);
} else {
echo "Unable to copy $target to $destination.";
}