开发者

Why is move_uploaded_file not working?

开发者 https://www.devze.com 2023-04-12 05:44 出处:网络
Whenever I try to move a file it does not work and shows \"Image file not uploaded\"... I just want to know where the error is...

Whenever I try to move a file it does not work and shows "Image file not uploaded"... I just want to know where the error is...

$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.";
}
  • I have checked error log (tail -f /var/log/apache2/error.log) but f开发者_JS百科ound nothing.
  • target and destination both directories have 777 permissions.

Can someone tell me that how to find out the error. Any idea ?


If you are not using HTTP POST upload method then you can use rename()

rename($target, $destination);


Has the file been uploaded in the current request?

move_uploaded_file will refuse to move files that are not uploads. (i.e. $target must equal $_FILES[$field_name]['tmp_name']

If it has been uploaded previously, move_uploaded_file will refuse to work (if it is even still there - PHP will delete it if you don't handle the file on that upload if I remember correctly)

If it is in fact not a file that has been uploaded with this request you'll want to use rename


move_uploaded_file() only works on http post files. http://php.net/manual/en/function.move-uploaded-file.php

to move a file already on the server, you will have to copy the file and unlink the old file

$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.";
}
0

精彩评论

暂无评论...
验证码 换一张
取 消