Мой вопрос похож на this one, но я застрял на финальном бит!Изменить размер изображения перед сохранением в базу данных MySQL
Следующий код принимает файл, отправленный формой HTML, и проверяет его размеры на два предопределенных значения: $maxwidth
и $maxheight
. Если он слишком широкий, он изменяет размер изображения.
Все, что я хочу сделать, это переназначить новое изменение размера исходной переменной $tmpName
, чтобы остальная часть скрипта могла ее обработать.
Следующий код возвращает эти ошибки:
Warning: fopen() expects parameter 1 to be string, resource given in /var/www/vhosts/galleryimaginem.com/httpdocs/img/upload.php on line 43
Warning: filesize() [function.filesize]: stat failed for Resource id #4 in /var/www/vhosts/galleryimaginem.com/httpdocs/img/upload.php on line 44
Warning: fread(): supplied argument is not a valid stream resource in /var/www/vhosts/galleryimaginem.com/httpdocs/img/upload.php on line 44
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/galleryimaginem.com/httpdocs/img/upload.php on line 46
Я думаю, я довольно близко, чтобы получить его, но может кто-нибудь помочь? Благодарю.
if (isset($_FILES['image']) && $_FILES['image']['size'] > 0) {
// Temporary file name stored on the server
$tmpName = $_FILES['image']['tmp_name'];
list($width,$height)=getimagesize($tmpName);
if ($width>$height && $width>$maxwidth) {
$newheight=($height/$width)*$maxwidth;
$newwidth=$maxwidth;
$imageResized = imagecreatetruecolor($newwidth, $newheight);
$imageTmp = imagecreatefromjpeg ($tmpName);
imagecopyresampled($imageResized, $imageTmp, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
$tmpName=$imageResized;
// My problem lies somewhere here ^^^^
}
// Read the file
$fp = fopen($tmpName, 'r');
$data = fread($fp, filesize($tmpName));
$data = addslashes($data);
fclose($fp);
// Create the query and insert
// into our database.
$query = "INSERT INTO tblPrints ";
$query .= "(title,full_image) VALUES ('IMG-TEST','$data')";
$results = mysql_query($query, $link);
// Print results
print "Thank you, your file has been uploaded.";
}
else {
print "No image selected/uploaded";
}
вместо присвоения его переменной $ imgTmp присвоить ее $ tmpName простой –
Что вы имеете в виду именно Ясир? – Alan
в обработке u назначить новую переменную $ imageTmp просто продолжить с $ tmpName, так что имя вашей переменной не изменится, и вы можете обрабатывать ее с тем же именем. –