Изменение размера изображения и загрузка

Я пытаюсь загрузить некоторые изображения с помощью файла import.csv. Размеры изображений должны быть изменены перед загрузкой. Я использую этот код для загрузки, но он возвращает черное изображение заданного размера.

 <?php
error_reporting(E_ALL);
include('config.php');
include('inc/header.php');
define('CSV_PATH', '');
$csv_file = CSV_PATH . "importImage.csv"; // Name of your CSV file
$csvfile  = fopen($csv_file, 'r');
$theData  = fgets($csvfile);

$i = 0;
while (!feof($csvfile)) {

$csv_data[] = fgets($csvfile, 1024);

$csv_array  = explode(",", $csv_data[$i]);
$insert_csv = array();
$url        = $insert_csv['url'] = $csv_array[0];
$image      = $insert_csv['image'] = $csv_array[1];

$raw = file_get_contents($url . $image);


/*RESIZE USING GD*/


/*
* PHP GD
* resize an image using GD library
*/

// File and new size
//the original image has 800x600
$filename = $raw;
//the resize will be a percent of the original size
$percent  = 0.5;

// Content type
header('Content-Type: image/jpeg');


// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth  = 200;
$newheight = 200;

// Load
$thumb  = imagecreate($newwidth, $newheight);
$source = imagecreate($filename);

// Resize
$imgnew = imagecopyresampled($thumb, $source, 0, 0, 0, 0, newwidth, $newheight, $width, $height);

imagejpeg($thumb, 'Mypath' . time() . '.jpg'); // save resized image to

//Output and free memory
imagedestroy($thumb);
$i++;
}

fclose($csvfile);

echo "File data successfully imported to database!!";
mysql_close($connect);

?>

3

Решение

Следующий скрипт легко позволит вам изменить размеры изображений, используя PHP и библиотеку GD.

https://github.com/nomisoft/White-Hat-Classes/tree/master/Simple-Image

0

Другие решения

Во-первых, проверьте, что $url.$image это реальный образ.

Во-вторых, getimagesize требует путь изображения, а не изображение

Я уверен, что вы хотите это: http://runnable.com/UnF-tFdudNt1AABt/how-to-resize-an-image-using-gd-library-for-php

0

По вопросам рекламы [email protected]