Я вот написал скрипт добавления файла на сайт, но не знаю как проверить его разрешение (jpg, txt, rar, zip), а мне нужно ограничить заливку фалов на сайт!!! Подскажите как это сделать?! <? if ($file1_name != "") { @copy("$file1", "./php/$file1_name") or die("невозможно скопировать файл"); } else { die("файл не обнаружен"); } ?>
if (file_exists($_FILES[file1][tmp_name])) { eregi(".*\.([^\.]+)$",$_FILES[file1][name],$pocket); $ext=strtolower($pocket[1]);
$allowed=Array("gif","jpg","jpeg","png"); // разрешенные расширения
if (!in_array($ext,$allowed)) { die("Такой тип файлов запрещен для загрузки"); } else { if (!@copy ($_FILES[file1][tmp_name],"./php/".$_FILES[file1][name])) { die("Не могу скопировать файл"); } } } else { die("Файл не загружен"); }
snubr
17.01.2007 - 11:54
фига. А оба ответа равносильны? Посоветуйте книжку по php!
ManHunter
17.01.2007 - 18:45
Цитата
А оба ответа равносильны?
ага, с той лишь разницей, что первый вариант: - спокойно пропустит файлы типа filename.jpg.php или filename.zip.js и т.д. - вообще никак не будет работать при globals = off
Цитата
Посоветуйте книжку по php!
Дмитрий Котеров "Самоучитель PHP4"
snubr
17.01.2007 - 19:49
Notice: Use of undefined constant file1 - assumed 'file1' in do_uploads.php on line 2
Notice: Use of undefined constant tmp_name - assumed 'tmp_name' in do_uploads.php on line 2
Notice: Use of undefined constant file1 - assumed 'file1' in do_uploads.php on line 3
Notice: Use of undefined constant name - assumed 'name' in do_uploads.php on line 3
Вот такие ошибки выдало на второй случай.
ManHunter
17.01.2007 - 20:37
почитай Котерова, особенно в части настройки php
snubr
20.01.2007 - 17:51
А как сделать так, чтобы он выдавал ссылку, чтобы ее потом можно было вставить в сообщение?
The Undertaker
21.01.2007 - 16:17
несовсем понятно что имеется ввиду
snubr
21.01.2007 - 22:35
Ну после загрузки файла на сайт, мне бы хотелось, чтобы была выдана такая ссылка <a href="http://.........">имя_файла</a>