0

我最近刚刚将我的本地 MAMP 安装移动到我的实时 Ubuntu EC2 服务器上,而且我在访问文件上传时遇到了麻烦。一切看起来都应该可以正常工作,但我不知道为什么不行。我在 php.ini 中最大上传了 5MB,这对于上传照片应该足够了,所以我知道不是这样。没有更改默认目录,但我想也许我应该将域作为具有 2 个其他域的 Apache 虚拟主机上的域?我不想在我的 php 脚本中走这条路:

ini_set('upload_tmp_dir','/your-home-www/tmp/');

但是,如果虚拟主机绝对有必要处理文件的话。我很确定这不是我的代码,因为它可以在我的本地主机 MAMP 安装上完美运行,但如果有帮助,这里是处理照片的代码片段:

$fileTmpLoc = $photo["tmp_name"];
$fileSize = $photo["size"]; 

if (!$fileTmpLoc) { // if file not chosen
      sendResponse(404,"ERROR: Photo not sent.");
      exit;
} else if($fileSize > 5242880) { // if file size is larger than 5 Megabytes
      unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder
      sendResponse(413, "ERROR: Your file was larger than 5 Megabytes in size.");
      exit;
} else {
$newName = "image01.jpg";

    $moveResult = copy($fileTmpLoc, "members/$id/".$newName);
    if ($moveResult != true) {
         @unlink($fileTmpLoc); 
         sendResponse(404,"ERROR: File not uploaded. Try again.");
         exit;
    }
 ....
}

现在,它一直到 sendResponse(404,"ERROR: File not upload. Try again.");,所以它可能与 tmp 文件无关,但它仍然没有上传。并且用户的 members 目录和 $id 目录都设置为 777,所以我真的不知道发生了什么。这是来自 IOS 客户端,而不是 html 表单

4

1 回答 1

0

您必须使用标准的 PHP 函数

move_uploaded_file()

将上传的文件移动到其位置。

于 2012-08-31T21:34:05.263 回答