我想学习如何构建我自己的基本脚本来上传/调整大小和重命名图像。
现在我正在使用dropzone.js作为客户端代码,但我正在努力争取服务器端。
以下是我的upload.php脚本现在的样子(来自dropzone教程):
<?php
$ds = DIRECTORY_SEPARATOR;
$storeFolder = 'user/avatar';
if (!empty($_FILES)) {
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $ds. $storeFolder . $ds;
$targetFile = $targetPath. $_FILES['file']['name'];
move_uploaded_file($tempFile,$targetFile);
}
?>
它工作正常,图像上传到我想要的位置,exept我不明白它是如何工作的,这可能是我脚本的后续步骤的问题。
究竟是什么$_FILES['file']['tmp_name']
?为什么不直接$_FILES['file']['name']
?
move_uploaded_file($tempFile,$targetFile);
怎么样?为什么需要$ tempFile?
$_FILES['file']
和$_FILES['image']
之间有什么区别?
最后一个问题,现在设置基本调整大小功能的最佳方法是什么?我的目标是将图像尺寸调整为150 * 150px,无论其原始尺寸如何。
希望我能得到一些帮助来弄明白这一切,
谢谢!
答案 0 :(得分:1)
据我所知,这是一个Linux安全问题。 Linux将文件上传到临时文件夹,只有在完成后才能将文件从上传的位置移动到您想要的位置。这就是你必须做多个步骤的原因。
至于调整图像大小,我不认为你可以直接这样做。我认为你必须使用imagecopyresized()。 http://php.net/manual/en/function.imagecopyresized.php