[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поломал мозг Resize
СкивС
Добрый день.Перепробовал несколько скриптов resize подставить в код, уже голову поломал и запутался...не работает или ошибку выдает, выручайте никак не могу додуматься как все подключить.
Есть класс

<?php


class SimpleImage
{

var $image;
var $image_type;

function load($filename) {
$image_info = getimagesize($_FILES['file']['tmp_name']);
$this->image_type = $image_info[2];
if( $this->image_type == IMAGETYPE_JPEG ) {
$this->image = imagecreatefromjpeg($filename);
} elseif( $this->image_type == IMAGETYPE_GIF ) {
$this->image = imagecreatefromgif($filename);
} elseif( $this->image_type == IMAGETYPE_PNG ) {
$this->image = imagecreatefrompng($filename);
}
}

function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) {
if( $image_type == IMAGETYPE_JPEG ) {
imagejpeg($this->image,$filename,$compression);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image,$filename);
} elseif( $image_type == IMAGETYPE_PNG ) {
imagepng($this->image,$filename);
}
if( $permissions != null) {
chmod($filename,$permissions);
}
}

function output($image_type=IMAGETYPE_JPEG) {
if( $image_type == IMAGETYPE_JPEG ) {
imagejpeg($this->image);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image);
} elseif( $image_type == IMAGETYPE_PNG ) {
imagepng($this->image);
}
}

function getWidth() {
return imagesx($this->image);
}
function getHeight() {
return imagesy($this->image);
}
function resizeToHeight($height) {
$ratio = $height / $this->getHeight();
$width = $this->getWidth() * $ratio;
$this->resize($width,$height);
}
function resizeToWidth($width) {
$ratio = $width / $this->getWidth();
$height = $this->getheight() * $ratio;
$this->resize($width,$height);
}
function scale($scale) {
$width = $this->getWidth() * $scale/100;
$height = $this->getheight() * $scale/100;
$this->resize($width,$height);
}
function resize($width,$height) {
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
$this->image = $new_image;
}
}

?>



Есть форма загрузки изображения

<form action="" method="post" enctype="multipart/form-data">
<input
type="file" name="file">
<input
type="submit" name="submit" value="Загрузить">
</form>
<div>
<span
style="font-size:12px; color:red">Названия файлов на русском языке строго запрещены!</span>
<br><span
style="font-size:12px; color:#00F">Размер загружаемого изображения до 5 мб.</span>
<br><span
style="font-size:12px; color:#00F">Можно загрузить только изображения gif, jpeg, png, jpg </span>
</div>


Есть обработчик

<?php
$array = array ('image/gif','image/jpeg','image/png');
$array2 = array ('gif','jpeg','jpg','png');

if(isset($_POST['submit'])){
if($_FILES['file']['error'] != 0){
echo 'Ошибка в загруке файла!';
} elseif($_FILES['file']['size'] < 10240 || $_FILES['file']['size'] > 5242880) {
echo 'Размер файла должен быть от 10кб до 5мб ';
} else {
preg_match('#\.([a-z]+)$#ui',$_FILES['file']['name'],$matches);
if(isset($matches[1])) {
$matches[1] = mb_strtolower($matches[1]);
$temp = getimagesize($_FILES['file']['tmp_name']);
$name ='/loaded/'.date('Ymd-His').'img'.rand(10000,99999).'.jpg';
if(!in_array($matches[1],$array2)) {
echo 'Не подходит расширение файла!';
} elseif(!in_array($temp['mime'],$array)) {
echo 'Можно загружать только изображения';
}
elseif(!move_uploaded_file($_FILES['file']['tmp_name'],'.'.$name)) {
echo 'Изображение не загрузилось';
} else {
echo 'Изображение загрузилось';

}
}
}
}



Подключаю класс к форме вылазят ошибки
<?php
if( isset($_POST['submit']) ) {
include'./libs/classSimpleImage.php';
$image = new SimpleImage();
$image->load($_FILES['file']['tmp_name']);
$image->resizeToWidth(150);
$image->output();
} else {
?>
<form
action="" method="post" enctype="multipart/form-data">
<input
type="file" name="file">
<input
type="submit" name="submit" value="Загрузить">
</form>
<div>
<span
style="font-size:12px; color:red">Названия файлов на русском языке строго запрещены!</span>
<br><span
style="font-size:12px; color:#00F">Размер загружаемого изображения до 5 мб.</span>
<br><span
style="font-size:12px; color:#00F">Можно загрузить только изображения gif, jpeg, png, jpg </span>
</div>
<?php
} ?>

Цитата
Изображение загрузилось
Warning: getimagesize(C:\Windows\Temp\php9EC0.tmp): failed to open stream: No such file or directory in C:\server\data\htdocs\Photo3\libs\classSimpleImage.php on line 10

Warning: imagesx() expects parameter 1 to be resource, null given in C:\server\data\htdocs\Photo3\libs\classSimpleImage.php on line 42

Warning: Division by zero in C:\server\data\htdocs\Photo3\libs\classSimpleImage.php on line 53

Warning: imagesy() expects parameter 1 to be resource, null given in C:\server\data\htdocs\Photo3\libs\classSimpleImage.php on line 45

Warning: imagecreatetruecolor(): Invalid image dimensions in C:\server\data\htdocs\Photo3\libs\classSimpleImage.php on line 63

Warning: imagesx() expects parameter 1 to be resource, null given in C:\server\data\htdocs\Photo3\libs\classSimpleImage.php on line 42

Warning: imagesy() expects parameter 1 to be resource, null given in C:\server\data\htdocs\Photo3\libs\classSimpleImage.php on line 45

Warning: imagecopyresampled() expects parameter 1 to be resource, boolean given in C:\server\data\htdocs\Photo3\libs\classSimpleImage.php on line 64

Warning: imagejpeg() expects parameter 1 to be resource, boolean given in C:\server\data\htdocs\Photo3\libs\classSimpleImage.php on line 34

Файл изображения загружается,но не обрабатывается resize
Подскажите пжт где я накосячил, столько раз переписывал и классом и функцией не работает...мне кажется в подключаемом классе с переменными накосячил, но я уже ничего не вижу) спс
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.