За последние 24 часа нас посетили 202776 программистов и 2212 роботов. Сейчас ищут 1669 программистов ...

Проблема с загрузкой файла на сервер

Тема в разделе "PHP для новичков", создана пользователем zevilz, 17 окт 2012.

  1. zevilz

    zevilz Активный пользователь

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    Есть вот такой вот скрипт загрузки файла:
    Код (Text):
    1. <?php
    2. if($_FILES["filename"]["size"] > 1024*3*1024)
    3. {
    4.     echo ("Размер файла превышает три мегабайта");
    5.     exit;
    6. }
    7. if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
    8. {
    9.     move_uploaded_file($_FILES["filename"]["tmp_name"], '/files/'.$_FILES["filename"]["name"]);
    10.     echo 'файл загружен';
    11. }
    12. else
    13. {
    14.     echo("Ошибка загрузки файла");
    15. }
    16. ?>
    Реализована загрузка через форму:
    Код (Text):
    1. <form action="upload.php" method="post" enctype="multipart/form-data">
    2. <input type="file" name="filename"><br>
    3. <input type="submit" value="Загрузить"><br>
    4. </form>
    Файлы не хотят грузиться в папку /files/.
    пробовал прописать путь вот так:
    Код (Text):
    1. 'http://'.$_SERVER['SERVER_NAME'].'/files/'
    но тоже скрипт пишет, что файл загружен, но там его нет.
    Где косяк?
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    это папка files, расположенная в корне файловой системы сервера. И это далеко не тоже самое, что корневая папка сайта.
    В общем, если твой скрипт, который сохраняет файлы, расположен в корневой папке сайта, то тогда так:
    move_uploaded_file($_FILES['filename']['tmp_name'], dirname(__FILE__).'/files/'.$_FILES['filename']['name']);

    Нужно ещё сделать проверку, что за файл тебе присылают. А то пришлют php-скрипт, который всё удаляет и запустят его.
     
  3. zevilz

    zevilz Активный пользователь

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    Спасибо, попробую. Это для админки я делаю
     
  4. zevilz

    zevilz Активный пользователь

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    Рабтает, а как сделать, так чтобы закачать файл в папку
    Код (Text):
    1. ../files/
     
  5. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    move_uploaded_file($_FILES['filename']['tmp_name'], dirname(__FILE__).'/../files/'.$_FILES['filename']['name']);
     
  6. zevilz

    zevilz Активный пользователь

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    Спасибо, работает)