Добился того, что файлы загружаются и показываются всё как надо. Следующий вопрос который у меня возник - можно ли например сделать так, что бы у них был максимальный горизонтальный размер, а - то загрузит кто нибудь там 4000*4000 пикселей фотку её не посмотреть будет ) Пробую загнать в таблицу - невыходит ( Посоветуйте... вот: Код (Text): echo "<table width=400 border=5>"; echo "<tr>"; echo "<td>"; if ($handle = opendir($up_dir)) { while (false !== ($file = readdir($handle))) { echo "<a href=$up_dir/$file>$file</a><br>"; echo "<img src=$up_dir/$file><br /><br /><br />"; } closedir($handle); } echo "</table>";
как сделать так, чтобы они выводились в таблице определённой ширины? И ещё почему-то появляется странные две картинки, как будто они не загружаются над всеми остальными с самого верху... Отчего это?
Ну, вообще-то, у тега img есть атрибут width. но мне такая идея хорошей не кажется. поскольку картинка шириной в 4000 пикселов будет грузиться чертову тучу времени и сожрет у посетителя бесову прорву трафика.
Хотелось сделать так, чтобы они выводились аккуратно в таблицу определённой ширины и были не больше неё, а при нажатиина них выводились в полном размере
можно после того, как картинка была загружена, делать скриптом её уменьшенную копию. как раз для показа в таблице. как сделать уменьшенную копию, можешь поискать здесь на форуме - писалось очень много раз.
а ты попробуй. это будет быстрее, чем я буду объяснять. Лучше один раз увидеть, чем сто раз услышать, как говорит нам народная мудрость
Вот как сделано у меня: PHP: <?php if ($handle = opendir($up_dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && $file != "Thumbs.db") { $info = pathinfo($file); if ($info['extension'] == "jpg" || $info['extension'] == "gif") { echo 'Код: <b><img src="'.$up_dir.'/'.$file.'"></b><br><a href=admin.php?module=files&action=delete&file='.$file.'>[ УДАЛИТЬ ]</a><br><br>' ."<a href=$up_dir/$file><img src=$up_dir/$file width=100 border=\"0\"></a><br><br>"; } else { echo "$file<br><br>"; } } } closedir($handle); } ?> Просто задай картинке ширину <img src="$file" width="Ширина таблицы"> А высоту он сам определит, но тогда очень большие картинки буду грузится также как и в обычном размере. А маленькие наооборот растягиваться.
В строчке PHP: if ($file != "." && $file != ".." && $file != "Thumbs.db") он пишет Parse error: parse error, unexpected ';' in D:\wwwroot\okrugin\posting\foto.php on line 53 А вроде всё приавильно... С чем мб связано?
PHP: <?php if(!$_FILES['upload_table']['tmp_name']){print("Файла не передано."); exit();}; if($_FILES['upload_table']['size'] > '6000'){print("Размер файла превышает допустимый: ".$_FILES['upload_table']['size']); exit();}; if(!ereg("^image",$_FILES['upload_table']['type'])){print("Передан недопустимый тип файла"); exit();}; $fname = time().'_'.md5($_FILES['upload_table']['name']); $type_str = substr($_FILES['upload_table']['type'],6,10); echo $type_str."<br>"; if(ereg("(gif)",$type_str)){$type = 'gif';} elseif(ereg("(jpeg)",$type_str)){$type = 'jpg';} elseif(ereg("(jpg)",$type_str)){$type = 'jpg';} elseif(ereg("(png)",$type_str)){$type = 'png';} else{print("Тип файла не опознан."); exit();}; $fname .= '.'.$type; copy($_FILES['upload_table']['tmp_name'],$fname); ?> Вроде тесты нормальные. Народ! 1) что еще можно подработать в плане безопасности? 2) никакие графические типы не упустил? заранее спсб
png нежелательный формат для ИЕ, т.к. у ИЕ нету ПНГ енкодера и он непонимает такие штуки как альфа, опасити и т.д. Но, но можно воспользоваться яваскриптом.
Горбунов Олег нормально. тип pjpeg покрывается регулярным выражением PHP: ereg("(jpeg)",$type_str)) xak2 мм, а где речь о том, что png не приспособлен для ИЕ? решается задача закачки файла на сервер, проверки его размера и типа на основании переданных данных, переименование и сохранение с соответствующим типу расширением. все.
Горбунов Олег проверил.. картинка - серый квадрат, созданный в ms paint и сохраненный с расширением jpeg