How to save an uploaded file on localhost?

2019-02-23 12:07发布

I have been using to upload an image file from HTML5/JS and using PHP script to save it in localhost(/var/www/) but i cant save it. the function move_uploaded_file always returns false while there is exists an object in _FILES object. I am a newbie in php:

  $target = "upload/";
  if(!empty($_FILES))
  {
     if(move_uploaded_file($_FILES['image_file']['tmp_name'], $target)) 
     {
     echo "The file ". basename( $_FILES['image_file']['name']). " has been uploaded...";
     } 
     else {
     echo "Sorry, there was a problem uploading your file. {$error}";
     }
  }
  else
  {
    echo "_files is empty";
  }

2条回答
We Are One
2楼-- · 2019-02-23 12:53

Try

move_uploaded_file($_FILES['image_file']['tmp_name'], $target.$_FILES['image_file']['name'])

Because you need to specify the name of file, not only the directory.

See example from PHP documentation

<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
?>
查看更多
劫难
3楼-- · 2019-02-23 13:01

try this

if(is_uploaded_file($_FILES['image_file']['tmp_name'])) 
     {
      move_uploaded_file($_FILES['image_file']['tmp_name'], $target.$_FILES['image_file']['name']);
     echo "The file ". basename( $_FILES['image_file']['name']). " has been uploaded...";
     }
查看更多
登录 后发表回答