dqdl6469 2015-01-04 23:55
浏览 32

imagecreatefromjpeg生成相同的文件(多个图像)

I'm trying to send a formData object from jquery (ajax) to php. The formData contains image files. I need them to be uploaded and resized (which both used to work). Now the problem is, when I create a imagecreatefromjpeg object in php, it seems like he only takes the 1st image and uses this for the amount of images in the formdata.

foreach($_FILES as $file)
{
    $ImageName      = $file['name'];
    $ImageSize      = $file['size'];
    $TempSrc        = $file['tmp_name'];
    $ImageType      = $file['type'];

    $DestinationDirectory .= $CategoryName . "/";

    if (is_array($ImageName)) 
    {
        $c = count($ImageName);

        for ($i=0; $i < $c; $i++)
        {
            $processImage           = true; 
            $RandomNumber           = rand(0, 9999999999);  // We need same random name for both files.

            if(!isset($ImageName[$i]) || !is_uploaded_file($TempSrc[$i]))
            {
                echo '<div class="error">Error occurred while trying to process <strong>'.$ImageName[$i].'</strong>, may be file too big!</div>'; //output error
            }
            else
            {
                //Validate file + create image from uploaded file.
                switch(strtolower($ImageType[$i]))
                {
                    case 'image/png':
                        $CreatedImage = imagecreatefrompng($TempSrc[$i]);
                        break;
                    case 'image/gif':
                        $CreatedImage = imagecreatefromgif($TempSrc[$i]);
                        break;
                    case 'image/jpeg':
                    case 'image/pjpeg':
                        $CreatedImage = imagecreatefromjpeg($TempSrc[$i]);
                        break;
                    default:
                        $processImage = false; //image format is not supported!
                }           //get Image Size
                    /*
                    $outputArr[] = array('image' => $ImageName[$i]);
                    header('Content-Type: application/json');
                    echo json_encode($outputArr);
                    */

                    echo $ImageName[$i];
            }
        }
    }
}

So this echoes $i times the same image. Once I remove the switch case, it echoes the correct images...

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 使用EMD去噪处理RML2016数据集时候的原理
    • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
    • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
    • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
    • ¥15 如何在炒股软件中,爬到我想看的日k线
    • ¥15 seatunnel 怎么配置Elasticsearch
    • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
    • ¥15 (标签-MATLAB|关键词-多址)
    • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
    • ¥500 52810做蓝牙接受端