繁体   English   中英

使用move_uploaded_files压缩图像php

[英]Compress image php with move_uploaded_files

我有一个PHP脚本从Ajax调用上传照片,我想上传两次照片,一个标准大小,另一个压缩。 有谁知道如何使用以下代码? 我尝试使用我在stackoverflow上找到的脚本压缩图像,但我无法正确执行。 每次都出现黑色照片。

我得到了这段代码:

$data = array();
if (isset($_GET['files'])) {
    $error = false;
    $files = array();
    $uniqid = uniqid();
    $uploaddir = '../../images/'.$uniqid;
    foreach($_FILES as $file) {
        if (move_uploaded_file($file['tmp_name'], $uploaddir.basename($file['name']))) {
            $files[] = $uploaddir.$file['name'];
        } else {
            $error = true;
        }
    }
    $data = ($error) ? array('error' = > 'There was an error uploading your files') : array('files' = > $files);
} else {
    $arr - > image = $file['name'];
    $_SESSION['image'] = "img-".$file['name'];
    $arr - > ok = "ok";
    $data = array('success' = > 'Form was submitted', 'formData' = > $file['name']);
}

谢谢你们!

尝试在$ files []数组插入中使用basename():

改变这个:

foreach($_FILES as $file) {
        if (move_uploaded_file($file['tmp_name'], $uploaddir.basename($file['name']))) {
            $files[] = $uploaddir.$file['name'];
        } else {
            $error = true;
        }
    }

对此:

foreach($_FILES as $file) {
        if (move_uploaded_file($file['tmp_name'], $uploaddir.basename($file['name']))) {
            $files[] = $uploaddir.basename($file['name']);
        } else {
            $error = true;
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM