
02.06.2010, 15:42
|
|
Познающий
Регистрация: 28.01.2009
Сообщений: 32
Провел на форуме: 84089
Репутация:
1
|
|
Сообщение от roxblnfk
Axel G, ты пых вобще хоть чуток понимаешь? 
самую что ни на есть малость = ) Так сказать только начинаю знакомство.
Сообщение от roxblnfk
а вообще, если следовать твоему скрипту, то лучше так:
PHP код:
if(!isset($_POST['thumb'])) exit;
if(300<$_POST['thumb'] || 100>$_POST['thumb']){
echo '<p align=center>ошибка создания превью</p>';
exit;
}
Спасибо конечно, но куда переменную $tsize вставить в этом варианте??
Сообщение от roxblnfk
Для мультиапа введи индексы для инпутов ( 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="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;
}
?>
Последний раз редактировалось Axel G; 02.06.2010 в 15:56..
|
|
|