【发布时间】:2015-02-18 14:05:43
【问题描述】:
我们使用 AWS Elastic Beanstalk 托管 PHP 应用程序,其中包括无法正常工作的文件上传工具。我们已经 php.ini 将 tmp_upload_dir 设置为 /tmp 但它仍然不起作用。
我们刚刚从另一台服务器上移动了站点,那里一切正常,但 EB 似乎不想让我们上传文件。
这是我们正在使用的代码示例:
$imagePath = "/tmp/";
$allowedExts = array("gif", "jpeg", "jpg", "png", "GIF", "JPEG", "JPG", "PNG");
$temp = explode(".", $_FILES["img"]["name"]);
$extension = end($temp);
if ( in_array($extension, $allowedExts))
{
if ($_FILES["img"]["error"] > 0)
{
$response = array(
"status" => 'error',
"message" => 'ERROR Return Code: '. $_FILES["img"]["error"],
);
echo "Return Code: " . $_FILES["img"]["error"] . "<br>";
}
else
{
$filename = $_FILES["img"]["tmp_name"];
list($width, $height) = getimagesize( $filename );
move_uploaded_file($filename, $imagePath . $_FILES["img"]["name"]);
$response = array(
"status" => 'success',
"url" => $imagePath.$_FILES["img"]["name"],
"width" => $width,
"height" => $height
);
}
}
else
{
$response = array(
"status" => 'error',
"message" => 'something went wrong',
);
}
【问题讨论】:
标签: php file-upload amazon-web-services amazon-elastic-beanstalk