我正在構建一個管理員應該能夠上傳圖像的網站。如果圖片大於2MB,則會因爲限制而失敗。但即使沒有限制,因爲訪問者的加載時間,調整圖像大小仍然會更好。PHP在上傳前調整圖像大小
圖像不應該超過800像素,高度並不重要,因爲它永遠不會很大。 我現在想要做的是調整圖像的大小,使寬度爲800px或更低,高度按相同的比例調整大小。
我現在擁有的是以下幾點:
if (!empty($_FILES))
{
$upload_dir = 'photos';
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = dirname(__FILE__) . DIRECTORY_SEPARATOR . $upload_dir . DIRECTORY_SEPARATOR;
$mainFile = $targetPath . time() . '-' . $_FILES['file']['name'];
list($w, $h) = getimagesize($tempFile);
if ($w > 800)
{
$ratio = 800/$w;
$newHeight = $ratio * $h;
$tempFile = imagescale($tempFile, 800);
}
move_uploaded_file($tempFile, $mainFile);
}
但這並不做任何事情。
我使用dropzone與此腳本作爲圖像輸入的目標。
有人能指出我正確的方向嗎? 或者PHP已經嘗試上傳圖像,一旦它在$_FILES
?如果是這樣,我不知道如何解決它。然後它應該調整之前 dropzone調用此腳本。