构建图像上传/调整大小脚本

时间:2016-01-08 00:03:28

标签: php ajax

我想学习如何构建我自己的基本脚本来上传/调整大小和重命名图像。

现在我正在使用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,无论其原始尺寸如何。

希望我能得到一些帮助来弄明白这一切,

谢谢!

1 个答案:

答案 0 :(得分:1)

据我所知,这是一个Linux安全问题。 Linux将文件上传到临时文件夹,只有在完成后才能将文件从上传的位置移动到您想要的位置。这就是你必须做多个步骤的原因。

至于调整图像大小,我不认为你可以直接这样做。我认为你必须使用imagecopyresized()。 http://php.net/manual/en/function.imagecopyresized.php