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

Закачка файла\картинки

  • Шурикен

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

    Spritz 31 августа 2009 г. 7:25

    Всем доброго дня.

    не получается загрузить файл на сервер.

    в $_FILES прилетает: Array ( [name] => avatar.png [type] => [tmp_name] => [error] => 2 [size] => 0 )
    2-это UPLOAD_ERR_FROM_SIZE..

    php.ini смотрел, всё норм. в форме отправки вроде тоже..

    подскажите плиз(у мня денвер:))




  • adw0rd

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

    Spritz 31 августа 2009 г. 7:41, спустя 16 минут 10 секунд

    не получается загрузить файл на сервер.
    на какой сервер? у вас же денвер?
    Спустя 84 сек.
    Какой размер у avatar.png? Сколько выставлено у upload_max_filesize ?
    Спустя 36 сек.
    Сколько у post_max_size ?
    adw/0
  • Шурикен

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

    Spritz 31 августа 2009 г. 7:44, спустя 3 минуты 27 секунд

    "загрузка файла на сервер" - так везде в манулах написано:)

    upload_max_filesize = 2M
    post_max_size = 8M
    file_uploads = On

    да 30 кб пытаюсь загрузить

  • rider-sx

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

    Spritz 31 августа 2009 г. 7:45, спустя 1 минуту 9 секунд

    Шурикен, Покажите код.
  • adw0rd

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

    Spritz 31 августа 2009 г. 7:46, спустя 58 секунд

    Шурикен, давайте вашу html-форму и файл php.ini - посмотрю
    Спустя 37 сек.
    И еще вашу картинку
    adw/0
  • rider-sx

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

    Spritz 31 августа 2009 г. 7:49, спустя 2 минуты 46 секунд


    Шурикен, давайте вашу html-форму и файл php.ini - посмотрю
    Спустя 37 сек.
    И еще вашу картинку
    Да зачем, может у него в пхп косяк какой?
    Спустя 92 сек.
    кароч вот простейшая схема:
    файл upload.html
    <html>
    <head>
    <title>Загрузка файлов на сервер</title>
    </head>
    <body>
    <h2><p><b> Форма для загрузки файлов </b></p></h2>
    <form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="filename"><br>
    <input type="submit" value="Загрузить"><br>
    </form>
    </body>
    </html>

    файл upload.php
    <?php
    if(copy($_FILES["filename"]["tmp_name"],
    "C:/FILES/".$_FILES["filename"]["name"]))
    {
    echo("Файл успешно загружен <br>");
    echo("Характеристики файла: <br>");
    echo("Имя файла: ");
    echo($_FILES["filename"]["name"]);
    echo("<br>Размер файла: ");
    echo($_FILES["filename"]["size"]);
    echo("<br>Каталог для загрузки: ");
    echo($_FILES["filename"]["tmp_name"]);
    echo("<br>Тип файла: ");
    echo($_FILES["filename"]["type"]);
    } else {
    echo("Ошибка загрузки файла");
    }
    ?>
    Спустя 35 сек.
    ебать скока эхо >_<
  • adw0rd

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

    Spritz 31 августа 2009 г. 7:52, спустя 3 минуты 8 секунд

    rider-sx,
    2-это UPLOAD_ERR_FROM_SIZE..
    adw/0
  • rider-sx

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

    Spritz 31 августа 2009 г. 7:55, спустя 3 минуты 2 секунды

    Ну епт, у меня впринципе то тоже денвер… только там от денвера только запускалка уже осталась:) И все норм пхп.ини стандартный почти, тоесть эти параметры не менял, и все работает )
  • Шурикен

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

    Spritz 31 августа 2009 г. 8:03, спустя 8 минут 1 секунду

    форма:
    <form enctype="multipart/form-data" action="img.php" method="post">
    <input type="hidden" name="MAX_FILE_SIZE" value="512000" />
    FILE: <input name="book_image" type="file" /><br />
    <input type="submit" value="Send IT"/>
    </form>

    Обработчик:

    <?php
    $max_photo_size=512000;
    $upload_required=true;

    $upload_dir="/img/";
    $err_msg=false;
    do {
    if (!isset($_FILES['book_image'])){
    $err_msg='Forma bile peredana ne polnostu';
    break;
    } else {
    $book_image=$_FILES["book_image"];
    }
    switch ($book_image['error']){
    case UPLOAD_ERR_INI_SIZE: $err_msg='Размер файла'."$max_photo_size bite";
    break 2;
    case UPLOAD_ERR_PARTIAL: $err_msg="blablabla";
    break 2;
    case UPLOAD_ERR_NO_FILE:
    if ($upload_required){
    $err_msg="blablabla";
    break 2;
    }
    break 2;
    case UPLOAD_ERR_FROM_SIZE: $err_msg="blablabla";
    case UPLOAD_ERR_OK:
    if ($book_image['size']>$max_photo_size){
    $err_msg="blablabla";
    }
    break 2;
    default: $err_msg="blablabla";

    }
    if (!in_array($book_image['type'],array('image/jpeg','image/pjpeg','image/png'))){
    print_r($book_image);
    echo $book_image['type']."<br>";
    $err_msg="blablabla";
    break;
    }
    } while(0);

    IF (!$err_msg){
    if([email protected]_uploaded_file($book_image['tmp_name'],$upload_dir.$book_image['name'])){
    $err_msg="blablabla";

    }
    }


    ?>


    <html>

    <body>
    <?php
    if ($err_msg){
    echo $err_msg;
    }else{


    ?>
    <img src=<?php echo $book_image['name'];?> />



    <?php
    }
    ?>
    </body>
    </html>


    только дело по-моему не в коде…$_FILES пустой прилетает. пробовал с любыми файлами…
  • Шурикен

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

    Spritz 31 августа 2009 г. 8:10, спустя 6 минут 20 секунд

  • rider-sx

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

    Spritz 31 августа 2009 г. 8:32, спустя 22 минуты 34 секунды

    Шурикен, а у тебя эта папка то есть ? /tmp
    Спустя 26 сек.
    ее надо сделать примерно тут C:\WebServers\usr\local\php5\tmp
    Спустя 39 сек.
    и еще в корне вроде надо C:\tmp
  • Шурикен

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

    Spritz 31 августа 2009 г. 8:41, спустя 9 минут 1 секунду

    да, папка есть. да и путь явно пробовал указывать.

    твой вариант работает -> я где-то наврал.

    сорри, что напряг, я ток первую неделю мучусь)

    п.с. пойду искать ошибку)
  • Mr.Pihto

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

    Spritz 31 августа 2009 г. 8:47, спустя 5 минут 38 секунд

    Шурикен, че во всех мануалах UPLOAD_ERR_FROM_SIZE ?
  • Trej Gun

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

    Spritz 31 августа 2009 г. 8:53, спустя 5 минут 59 секунд


    Шурикен, а у тебя эта папка то есть ? /tmp
    Спустя 26 сек.
    ее надо сделать примерно тут C:\WebServers\usr\local\php5\tmp
    Спустя 39 сек.
    и еще в корне вроде надо C:\tmp

    её надо указать в php.ini
  • rider-sx

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

    Spritz 31 августа 2009 г. 8:55, спустя 1 минуту 46 секунд



    Шурикен, а у тебя эта папка то есть ? /tmp
    Спустя 26 сек.
    ее надо сделать примерно тут C:\WebServers\usr\local\php5\tmp
    Спустя 39 сек.
    и еще в корне вроде надо C:\tmp

    её надо указать в php.ini
    Она и так у него указана, он видимо ее не создал просто )

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