Помощь - Поиск - Пользователи - Календарь
Полная версия: Загрузка файлов на сайт
Форум на все случаи жизни > Программирование, скрипты, графика, WEB-строительство > WEB дизайн и прикладное программирование
snubr
Я вот написал скрипт добавления файла на сайт, но не знаю как проверить его разрешение (jpg, txt, rar, zip), а мне нужно ограничить заливку фалов на сайт!!!
Подскажите как это сделать?! 4u.gif
<?
if ($file1_name != "")
{
@copy("$file1", "./php/$file1_name")
or die("невозможно скопировать файл");
}
else {
die("файл не обнаружен");
}
?>
The Undertaker
Код

if ($file1_name != "")
{
    if(stristr($file1_name, ".jpg") || stristr($file1_name, ".txt") || stristr($file1_name, ".rar") || stristr($file1_name, ".zip"))
    {
        if(@copy("$file1", "./php/$file1_name"))
        {
            echo "файл загружен";
        }
        else
        {
            die("ошибка загрузки файла");
        }
    }
    else
    {
        die("данный тип файла запрещен для загрузки");
    }
}
else
{
    die("файл не обнаружен");
}
ManHunter
The Undertaker ну ты щаз насоветуешь человеку

Код

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
фига. А оба ответа равносильны?
Посоветуйте книжку по php!
ManHunter
Цитата
А оба ответа равносильны?

ага, с той лишь разницей, что первый вариант:
- спокойно пропустит файлы типа filename.jpg.php или filename.zip.js и т.д.
- вообще никак не будет работать при globals = off
Цитата
Посоветуйте книжку по php!

Дмитрий Котеров "Самоучитель PHP4"
snubr
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
почитай Котерова, особенно в части настройки php
snubr
А как сделать так, чтобы он выдавал ссылку, чтобы ее потом можно было вставить в сообщение?
The Undertaker
несовсем понятно что имеется ввиду
snubr
Ну после загрузки файла на сайт, мне бы хотелось, чтобы была выдана такая ссылка <a href="http://.........">имя_файла</a>
hpi
Сверяй расширение файла с константами

Код

.....
$filetype1 = ".jpg";
$filetype2 = ".gif";
$filetype3 = ".avi";
.....
$ext = strrchr($fupload_name,'.');
    
    if ($ext == $filetype1 || $ext == $filetype2 || $ext == $filetype3 )
    {
.....
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2008 Invision Power Services, Inc.