move_uploaded_file():无法移动

时间:2016-10-13 03:49:50

标签: php

$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = addslashes($_FILES['image']['name']);
$image_size = getimagesize($_FILES['image']['tmp_name']);

move_uploaded_file($_FILES["image"]["tmp_name"], "/profile/img/" . $_FILES["image"]["name"]);
$location = "img/" . $_FILES["image"]["name"];

mysql_query("update  users set user_img = '$location' WHERE user_email = '$_SESSION[user]' ")or die(mysql_error());

2 个答案:

答案 0 :(得分:0)

您应该使用document_root来获取这样的绝对路径:

$target_path = $_SERVER['DOCUMENT_ROOT'] . "/profile/img/" . basename($_FILES['image']['name']);
move_uploaded_file($_FILES["image"]["tmp_name"], $target_path);

答案 1 :(得分:0)

这个问题经常发生在所有人身上,这些是在您上传文件和进行此类活动之前必须进行的必要检查。

说明 - 一般检查

  1. 确保您拥有名为enctype="multipart/form-data"的表单属性。
  2. 确保您拥有name文件类型。 <input type="file" name="image" />
  3. 确保您获得在PHP脚本中上传的文件,如$_FILES['image']['name']
  4. 确保您更改了上传文件夹chmod 755777,例如chmod 777 folder_path
  5. 在完成所有必要的检查后,您可以为文件上传添加以下代码。

    $target_path = $_SERVER['DOCUMENT_ROOT']."YOUR_NEEDED_PATH_TO_MOVE".basename($_FILES['image']['name']);
    move_uploaded_file($_FILES["image"]["tmp_name"], $target_path);
    

    希望所有这些说明对包括你在内的所有开发者都有帮助。

    快乐编码:)