Сейчас если выбираю больше 300, тобишь 301. то пишет ошибку, но превьюху создает, аналогично если выберу 50, ошибка сверху и она ни как не влияет = ( PHP: $tsize= $_POST ['thumb']; if (isset ($tsize) and $tsize<301 and $tsize>99 ) { } else echo "ошибка создания превью";
всё нормально работает. PHP: <form action = '' method = 'post'> <input type = 'text' name = 'thumb' size = '3'> <input type = 'submit' value = 'ok'> </form> <?php $tsize = isset($_POST ['thumb']) ? intval($_POST ['thumb']) : 0; if ($tsize<300 && $tsize>100 ){ echo 'красавчик!'; } else echo 'ошибка создания превью'; ?>
roxblnfk нет, не работает, превьюха все равно создается. wildshaman, Какая ошибка? - в том то и дело что никакой; Что вставляешь между {} ? - ничего так и оставил {}; Куда вставляешь код заливки? - в заранее заготовленный скрипт загрузки фоток. PHP: $tsize = isset($_POST ['thumb']) ? intval($_POST ['thumb']) : 0; if ($tsize<300 && $tsize>100 ){ echo 'красавчик!'; } else echo 'ошибка создания превью'; if(!isset($_FILES['userfile'])) exit; if(!is_uploaded_file($_FILES['userfile']['tmp_name'])) exit; if ($_FILES['userfile']['size']>$max_size) { echo "<p align=center>Файл слишком большой!</p>"; exit; } $pictype=""; switch(strtolower($_FILES['userfile']['type'])){ case "image/jpeg" : $pictype=".jpg"; break; case "image/pjpeg": $pictype=".jpg"; break; case "image/gif" : $pictype=".gif"; break; case "image/png" : $pictype=".png"; break; case "image/x-png": $pictype=".png"; break; default : $pictype=""; break; } if($pictype!="") { //------- do { $uniq=md5(uniqid(rand(),1)); $srcfile=$path.$uniq.$pictype; } while(file_exists($srcfile)); $res = copy($_FILES['userfile']['tmp_name'], $srcfile); if (!$res) { echo "<p align=center>Ошибка копирования файла на сервер!</p>"; exit; } @chmod($srcfile,0666); //set url variable $imgf = $path . $uniq . $pictype; $thbf = $tpath . $uniq . ".jpg"; createthumb($imgf,$pictype,$thbf,$tsize,$tsize); @chmod($thbf,0666); $urlf = $domain . $path . $uniq . $pictype; А ребят тогда такой еще вопрос, в этом сценарии как сделать цикл, чтоб загру;ать не по одному файлу, а сразу мультиапом до 10 штук за раз. name="userfile[]"
Ану хакеры, что за операция ^ в пыхе У гугла это возведение в степень, и в IRCe все орут - это возведение в степень, а у пыха это чё? PHP: for ($a=0;$a<=100;$a++) for ($i=0;$i<=100;$i++) echo "$a^$i=".($a^$i)."\r\n"; http://pastebin.com/hADYZK9a ИМХО это какая-то операция с битами, вот токо какая
Вроди как вот такой принцип, сравнивает побитово http://msdn.microsoft.com/ru-ru/library/ms190277.aspx
Axel G, ты пых вобще хоть чуток понимаешь? между {} тебе и надо было вставлять скрипт создания превью (вместо echo 'красавчик!'; ) а вообще, если следовать твоему скрипту, то лучше так: PHP: if(!isset($_POST['thumb'])) exit; if(300<$_POST['thumb'] || 100>$_POST['thumb']){ echo '<p align=center>ошибка создания превью</p>'; exit; } (замени это на то что есть) Для мультиапа введи индексы для инпутов ( userfile_1 userfile_2 ... ) в цикле, к примеру PHP: for($i=1;$i<=10;$i++) if(isset($_FILES['userfile_'.$i])) if(UPLOAD_ERR_OK==$_FILES['userfile_'.$i]['error']){ // всякие твои проверки move_uploaded_file($_FILES['userfile_'.$i]['tmp_name'],'./parapapaparam/uf'.mktime().'_'.$i); }else echo $i.'-й файл загружен с ошибкой';
так выводит, названия ключа массива во много строк, а нужно в одну строку. Как это сделать? У ячеек массива(класс, там ООП, класс в итераторе) есть названия : name,userid, date_modified,permission и др. Нужно ТОЛЬКО названия ячеек (чтобы получился заголовок таблицы), что то наподобие этого : name | userid | date_modified | permission .
DonKihot, не понял, может тебе foreach($FSobject as $key => $key) надо заменить на foreach($FSobject as $key => $val) ? по твоему коду: $obj - массив, элементы которого ( $FSobject===$obj[$k1] ) являются другими массивами. В них (т.е. в каждом $FSobject): $key-ключ, $val-значение каждого элемента Из перечисленных выше переменных что является названием? $val? (в твоём коде выводится $key в каждой ячейке, т.е. ключ)
самую что ни на есть малость = ) Так сказать только начинаю знакомство. Спасибо конечно, но куда переменную $tsize вставить в этом варианте?? А если инпутам присвоено name="userfile[]" то как скрипт должен выглядеть?? ##################################### PHP: <? //create thumbnails function createthumb($name,$sourcetype,$filename,$new_w,$new_h){ if ($sourcetype==".jpg"){ $src_img=imagecreatefromjpeg($name); } if ($sourcetype==".png"){ $src_img=imagecreatefrompng($name); } if ($sourcetype==".gif"){ $src_img=imagecreatefromgif($name); } $old_x=imageSX($src_img); $old_y=imageSY($src_img); if ($old_x > $old_y) { $thumb_w=$new_w; $thumb_h=$old_y*($new_h/$old_x); } if ($old_x < $old_y) { $thumb_w=$old_x*($new_w/$old_y); $thumb_h=$new_h; } if ($old_x == $old_y) { $thumb_w=$new_w; $thumb_h=$new_h; } $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h); imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y); imagejpeg($dst_img,$filename); imagedestroy($dst_img); imagedestroy($src_img); } //------------------------ START HERE ------------------ $max_size = 1024 * 1024; $path = "images/"; $tpath = "thumbs/"; $tsize = $_POST['thumb']; if(!isset($_FILES['userfile'])) exit; if(!is_uploaded_file($_FILES['userfile']['tmp_name'])) exit; if ($_FILES['userfile']['size']>$max_size) { echo "<p align=center>Файл слишком большой!</p>"; exit; } $pictype=""; switch(strtolower($_FILES['userfile']['type'])){ case "image/jpeg" : $pictype=".jpg"; break; case "image/pjpeg": $pictype=".jpg"; break; case "image/gif" : $pictype=".gif"; break; case "image/png" : $pictype=".png"; break; case "image/x-png": $pictype=".png"; break; default : $pictype=""; break; } if($pictype!="") { //------- do { $uniq=md5(uniqid(rand(),1)); $srcfile=$path.$uniq.$pictype; } while(file_exists($srcfile)); $res = copy($_FILES['userfile']['tmp_name'], $srcfile); if (!$res) { echo "<p align=center>Ошибка копирования файла на сервер!</p>"; exit; } @chmod($srcfile,0666); //set url variable $imgf = $path . $uniq . $pictype; $thbf = $tpath . $uniq . ".jpg"; createthumb($imgf,$pictype,$thbf,$tsize,$tsize); @chmod($thbf,0666); $urlf = $domain . $path . $uniq . $pictype; ?> # здесь HTML вывод ссылок. <? //error } else { echo "<p align=center>Формат файла не распознан!</p>"; exit; } ?>
ну как ребёнок.. PHP: if(isset($_POST['thumb'])) $tsize=intval($_POST['thumb']); else exit; if(300<$tsize || 100>$tsize){ echo '<p align=center>ошибка создания превью</p>'; exit; } print_r ($_FILES); поможет
Быть может, PHP: if(isset($_POST['thumb'])) $tsize=intval($_POST['thumb']); else exit; if(300<$tsize || 100>$tsize){ echo '<p align=center>ошибка создания превью</p>'; exit; } И что же у вас получится?? Я указывал ранее, что переменной $tsize должно присваиваться значение инпута, тобишь $tsize = $_POST['thumb']; ================================ спасибо за решение проблемы Chaak'у. PHP: $tsize = $_POST['thumb']; if($tsize >= 300 || $tsize <= 100) die('<p align="center">Превью должно быть меньше 300, но больше 100 пикселей.<center>');