Javascript PHP在上传前调整图像大小

Javascript PHP在上传前调整图像大小,javascript,php,image,dropzone.js,Javascript,Php,Image,Dropzone.js,我正在建立一个网站,管理员应该能够上传图像。如果图像大于2MB,则会因限制而失败。但是,即使没有限制,由于访问者的加载时间,还是最好调整图像的大小 图像的宽度不应超过800px,高度无关紧要,因为它永远不会太大。 我现在想做的是调整图像的大小,使其宽度为800px或更低,高度按相同的比例调整大小 我现在有以下资料: if (!empty($_FILES)) { $upload_dir = 'photos'; $tempFile = $_FILES['file']['tmp_na

我正在建立一个网站,管理员应该能够上传图像。如果图像大于2MB,则会因限制而失败。但是,即使没有限制,由于访问者的加载时间,还是最好调整图像的大小

图像的宽度不应超过800px,高度无关紧要,因为它永远不会太大。 我现在想做的是调整图像的大小,使其宽度为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是否已经尝试在图像位于
$\u文件中时上载该图像?如果是这样的话,我不知道如何解决它。然后,在dropzone调用此脚本之前,应该调整其大小。

一旦您拥有$\u文件,您的映像就已经在服务器上了。您可以使用canvas元素在HTML5客户端调整它的大小

试着读一下:

我建议使用。然后可以像这样使用
resize()

WideImage::load('big.png')->resize(50, 30)->saveToFile('small.jpg');