Как зделать правильное условие?

Статус
Закрыто для дальнейших ответов.

KDES70

Well-Known Member
Регистрация
16.02.2012
Сообщения
73
Здраствуйте!! помогите пожалуйсто с одной маленькой запаркой))) есть скрипт загрузки фото который обрезает по размеру
использую его в форме добавления статьи. Загруска обрезаной в один каталог исходник в другой, проблема в том что при добавлени
статьи если фото не обрезалось по какой либо причине загружается только исходник. Как зделать чтобы если фото не обрезалось
не загружался исходник либо удалился, а то получается статья в базу записалась а привьюшки на нее нет
вот сам скрипт помогите прошу написать грамотное условие сам чот не могу догнать....
Код:
[/size][/font][/color]
[color=#282828][font=verdana][size=3]if(isset($_POST['submit']))	 {$submit = $_POST['submit'];}[/size][/font][/color]

[color=#282828][font=verdana][size=3]if(isset($submit)){
$maxwidth = 1600; //Максимальная ширина загружаемого изображения
$maxheight = 1200; //Максимальная высота загружаемого изображения
$allowed_filetypes = array('.jpg','.JPG'); //Поддерживаемые форматы
$maxs = 2048; // Максимальный размер файла в байтах
$upload_path = "files/";
$filename = $_FILES['userfile']['name']; //Имя файла
$sizefile = getimagesize($_FILES['userfile']['tmp_name']);//Параметры изображения
$size = filesize($_FILES['userfile']['tmp_name'])/1024; //Переводим размер изображения в Кбайты
$size = ceil($size); // округляем размер файла до целого числа

$ext = substr($filename,strpos($filename,'.'),strlen($filename)-1);
if(!in_array($ext,$allowed_filetypes)){
  echo "<p>Вы <strong>не выбрали изображение</strong> для загрузки или данный <strong>формат файлов не поддерживается</strong></p>";
}
else{

  if($size > $maxs or $size == 0){ //Если размер файла больше максимального или равен 0 выдаем ошибку
  echo "<p>Разрешается загружать файлы не более 2 Мб</p>";
   }
   else{
    if ($sizefile[0] > $maxwidth or $sizefile[1] > $maxheight) {// Если разрешение не соответствуют выдаем ошибку
	 echo "<p>Файл, который ва пытаетесь загрузить, имеет разрешение <strong>$sizefile[0] x $sizefile[1]</strong>. Разрешается загружать фото не боле чем <strong>$maxwidth х $maxheight</strong> пикселей</p>";
    }
    else{
	 if(isset($filename)){// Если имя файла существует производим загрузку
	  if(move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_path.$filename)){
	   echo "<p>Файл <strong>".$filename."</strong> успешно загружен</p>";
	  }
	 }
	 else {
	  echo "<p>Файл <strong>".$filename."</strong>  не загружен</p>";
	 }
	
	 $new_name = "img_".date("YmdHis").".jpg";
	 //Переименуем файл на всякий случай что бы не было совпадений	
	 rename($upload_path.$filename, $upload_path.$new_name);
	 //Запомним новое имя
	 $filename = $new_name;
	
	 // блок делает мальное изображение исходной фотки - в качестве превьюшки
	 $smwidth = 110; //Длинна обрезанного изображения
	 $smheight = 110; //Высота обрезанного изображения
   
	 if ($sizefile[0] > $smwidth or $sizefile[1] > $smheight){ //Проверяем ширину и высоту исходного файла с заданными для обрезки, если они меньше то ничего не делаем
	  $smallfoto="$filename"; require ('tumbmaker.php');
					 
	 
					   
	  if (img_resize("files/$filename", "files/crop/$smallfoto", $smwidth, $smheight)){
	   echo "Масштабирование прошло успешно";
	  }
	  else {
	   echo "<p>Ошибка обрезки фото</p>";
	  }
	 }
	 else {
	  copy($upload_path.$filename, $upload_path."crop/".$filename);
	 }
	
	
	 echo "<p>Ok $filename</p>";
    }[/size][/font][/color]
[color=#282828][font=verdana][size=3]   }  

}

}
else{ if ($filename == '')  {unset($filename);}
echo "<p>Неверный формат запроса</p>";
}[/size][/font][/color]
[color=#282828][font=verdana][size=3]
 

Юрчик

Well-Known Member
Регистрация
23.02.2012
Сообщения
94
Как зделать чтобы если фото не обрезалось
не загружался исходник либо удалился, а то получается статья в базу записалась а привьюшки на нее нет
вот сам скрипт помогите прошу написать грамотное условие сам чот не могу догнать....
Это просто пздц какой то, я чего то не догнал.
1. Я конечно иногда сам также пишу, но все же прочитай http://lurkmore.to/%...%BA%D0%BE%D0%B4

2. Может поможет такой костыль. А вообще нужно стараться красивее писать :))
Вставь это unlink($upload_path.$smallfoto) после кода ниже - эта функция и удалит файл. Если я правильно понял твой http://lurkmore.to/%...%BD%D0%BE%D1%81
Код:
echo "<p>Ошибка обрезки фото</p>";
 
Статус
Закрыто для дальнейших ответов.
Верх Низ