我有一个函数,可以将从某个页面发布的图像上传到 amazon s3。
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg") || ($_FILES["file"]["type"] == "image/x-png") || ($_FILES["file"]["type"] == "image/png"))
//&& ($_FILES["upload"]["size"] < 20000)
&& in_array($extension, $allowedExts)) {
if ($_FILES["file"]["error"] > 0) {
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
} else {
//uploading here
} else {
echo 'Image not uploaded! :(';
}
}
} else {
echo "Invalid file";
}
它工作正常! 但是现在我在/tmp/
文件夹中的服务器上有一个图像,我需要上传这个图像,我该怎么做?
谢谢!
使用move_uploaded_file函数
$uploads_dir = 'path/to/some/dir';
$tmp_name = $_FILES["file"]["tmp_name"];
$name = $_FILES["file"]["name"];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
此外,一个好习惯是将 $_FILES["file"]["type"] 放入变量中,并在 if 检查中使用该变量,而不是每次都使用 $_FILES 数组:
$_type = $_FILES["file"]["type"];
if ((($_type == "image/gif") || ($_type == "image/jpeg") || ($_type == "image/jpg") || ($_type == "image/pjpeg") || ($_type == "image/x-png") || ($_type == "image/png"))
&& in_array($extension, $allowedExts)) {
检查move_uploaded_file
函数。var_dump($_FILES['file']);
看看,您拥有有关上传文件的哪些信息。
上传$_FILES['file']['tmp_name'];
后,您上传的文件在这里