ФорумПрограммированиеPHP для идиотов → Проверка на формат

Проверка на формат

  • DelFast

    Сообщения: 13 Репутация: N Группа: Кто попало

    Spritz 25 января 2010 г. 4:38

    При заливке изображения, пытаюсь провести проверку на формат.
    if($_FILES['FILE']['type'] != "image/gif") { 
    else { echo 'GIFGIF';}
    exit;
    }

    Ошибка в синтаксисе (номер строки 13 - в моём файле)
    Parse error: syntax error, unexpected T_ELSE in /home/delfast/html/upload.php on line 13

    В чём проблема?
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 25 января 2010 г. 4:44, спустя 6 минут 5 секунд

    Скобку забыли, о чем и говорит вам PHP
    Спустя 34 сек.

    if($_FILES['FILE']['type'] != "image/gif") {
    //
    } else {
    echo 'GIFGIF';
    }
    exit;
    adw/0
  • DelFast

    Сообщения: 13 Репутация: N Группа: Кто попало

    Spritz 25 января 2010 г. 4:53, спустя 9 минут 34 секунды

    есть скрипт, написанный мой, не могу "спаять" этот скрипт с полным скриптом.
    Могу я связаться с вами по icq для помощи ?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 25 января 2010 г. 4:56, спустя 2 минуты 29 секунд

    давай здесь все пиши =)
    только потом посети http://pyha.ru/donate/
  • DelFast

    Сообщения: 13 Репутация: N Группа: Кто попало

    Spritz 25 января 2010 г. 5:07, спустя 11 минут 1 секунду

    <html>
    <head>
    <title>Результат загрузки файла</title>
    </head>
    <body>

    <?php

    $url = "files";
    // 1)Проверяем, существует ли имя.

    //


    if($_FILES['FILE']['name']) {


    // 2)Проверяем размер файла
    if($_FILES['FILE']['size'] != 0 AND $_FILES['FILE']['size']<=102400)
    {
    // 3)Проверяем загрузился ли файл на сервер
    if(is_uploaded_file($_FILES['FILE']['tmp_name'])) {
    // 4)Перемещаем загруженный файл в необходимую папку $url

    if(move_uploaded_file($_FILES['FILE']['tmp_name'], $url."/".basename($_FILES['FILE']['name']))) {
    //Выводим сообщение что файл обработа и загружен
    echo '<center><img src='.$url.'/'.basename($_FILES['FILE']['name']).' border=1><hr><br>Ваша ссылка:<br><textarea rows="3" cols="45" name="text">http://delfast.webhost1.ru/'.$url.'/'.basename($_FILES['FILE']['name']).'</textarea></center>';
    }
    else { echo 'Произошла ошибка при перемещении файла в папку'.$url;}

    }
    else {echo 'Прозошла ошибка при загрузке файла на сервер';}

    }
    else { echo 'Размер файла не должен превышать 100Кб';}
    }
    else { echo 'Файл должен иметь название';}

    echo '<br><br><br><div align=right><i>Хотите скрипт? Идите нахуй! ©923933</i></div>';
    ?>

    </body>
    </html>

    Надо поставить проверку на формат (GIF, JPG, JPEG, PNG, BMP)
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 25 января 2010 г. 5:12, спустя 5 минут 12 секунд

    DelFast, а такая конструкция, как try … catch тебе знакома?
    Думаю, это то, что тебе надо.
  • DelFast

    Сообщения: 13 Репутация: N Группа: Кто попало

    Spritz 25 января 2010 г. 5:14, спустя 2 минуты 20 секунд

    Известна, но не на столько хорошо. Понятия не имею как ею пользоваться) Новичок в php.
  • Ewg777

    Сообщения: 510 Репутация: N Группа: Джедаи

    Spritz 25 января 2010 г. 5:18, спустя 3 минуты 15 секунд


    Известна, но не на столько хорошо. Понятия не имею как ею пользоваться) Новичок в php.
    Хотите скрипт? Ответ знаете.
    Какая загрузка файлов? Начните с примитивных алгоритмов. И обязательно habrahabr.ru/blogs/php/38214/
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 25 января 2010 г. 5:20, спустя 2 минуты 30 секунд

    try
    {
    if (Фигня1) throw new Exception('Фигня1');
    ….
    if (Фигня2) throw new Exception('Фигня2');
    ….
    if (Фигня3) throw new Exception('Фигня3');
    ….
    if (Фигня4) throw new Exception('Фигня4');

    echo 'Все хорошо!';
    }
    catch(Exception $e)
    {
    echo 'Произошла фигня: '.$e->getMessage();
    }
    А то в скобках погрязнешь …
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо
  • DelFast

    Сообщения: 13 Репутация: N Группа: Кто попало

    Spritz 25 января 2010 г. 5:22, спустя 23 часа 20 минут 40 секунд

    Нифига не понял, Alex..
    Ewg777, спасибо, что напомнили, мне это "по душе".
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz 25 января 2010 г. 5:23, спустя 53 секунды

    <html>
    <head>
     <title>Результат загрузки файла</title>
    </head>
    <body>

    <?php

    $url = "files";
    // 1)Проверяем, существует ли имя.
    if($_FILES['FILE']['name'])
    {
    // 2)Проверяем размер файла
       if($_FILES['FILE']['size'] != 0 AND $_FILES['FILE']['size']<=102400)
       {
    // 3)Проверяем загрузился ли файл на сервер
    if(is_uploaded_file($_FILES['FILE']['tmp_name']))
    {
    //3.5) Расширение проверим
    if($_FILES['FILE']['type'] != "image/gif")
    {
    // 4)Перемещаем загруженный файл в необходимую папку $url
    if(move_uploaded_file($_FILES['FILE']['tmp_name'], $url."/".basename($_FILES['FILE']['name'])))
    {
                       //Выводим сообщение что файл обработа и загружен
                       echo '<center><img src='.$url.'/'.basename($_FILES['FILE']['name']).' border=1><hr><br>Ваша ссылка:<br><textarea rows="3" cols="45" name="text">http://delfast.webhost1.ru/'.$url.'/'.basename($_FILES['FILE']['name']).'</textarea></center>';        
    }
    else { echo 'Произошла ошибка при перемещении файла в папку'.$url;}
    }
    else {echo 'Неверный формат';}
    }
    else {echo 'Прозошла ошибка при загрузке файла на сервер';}
       }
    else { echo 'Размер файла не должен превышать 100Кб';}
    }
    else { echo 'Файл должен иметь название';}

    echo '<br><br><br><div align=right><i>Хотите скрипт? Идите нахуй! ©923933</i></div>';
    ?>

    </body>
    </html>

    Так как-то так. Но а ваще - говнокод какой то. Чуть не заблудился.
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 25 января 2010 г. 5:28, спустя 4 минуты 29 секунд


    Нифига не понял, Alex..
    Чего не понял? У тебя куча вложенных условий, причем если одно не выполнилось, все что внутри уже не важно.
    Я тебе показал, как переписать все тоже самое только более читабельно, потому что ты явно грязнешь в своем же коде.
    У тебя ифы и у меня ифы, у тебя сообщения об ошибках и у меня. Чего не понятно?
  • DelFast

    Сообщения: 13 Репутация: N Группа: Кто попало

    Spritz 25 января 2010 г. 5:29, спустя 1 минуту 17 секунд

    Всё равно, льёт всё подряд файлы
    Спустя 72 сек.


    Нифига не понял, Alex..
    Чего не понял? У тебя куча вложенных условий, причем если одно не выполнилось, все что внутри уже не важно.
    Я тебе показал, как переписать все тоже самое только более читабельно, потому что ты явно грязнешь в своем же коде.
    У тебя ифы и у меня ифы, у тебя сообщения об ошибках и у меня. Чего не понятно?

    Вот именно, если условия все соблюдены - льёт файл. Если не соблюдены - йух в путь.
    Я хочу добиться просто еще проверки формата, а вы тут новые функции мне чипятаете
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 25 января 2010 г. 5:32, спустя 2 минуты 39 секунд


    Всё равно, льёт всё подряд файлы
    Дык у тебя написано лить при условии неравенства "image/gif" … ну и льет
    Спустя 128 сек.

    Я хочу добиться просто еще проверки формата, а вы тут новые функции мне чипятаете
    Ну не хочешь переделать код в более адекватный, не переделывай … твое дело. Просто чем говнокодистей код, тем сложнее отладка … а так дело твое

Пожалуйста, авторизуйтесь, чтобы написать комментарий!