Запись файла в папку средствами Php

Тема в разделе "PHP программирование", создана пользователем realmadrid, 12 авг 2007.

  1. realmadrid

    realmadrid Гость

    Здравствуйте!
    Сразу к делу: в своей программе я сохраняю нужные мне файлы в папке. Так вот, когда я пишу:

    if (!empty($_FILES['image']['tmp_name']))
    {
    $ext = strrchr($_FILES['image']['name'], ".");
    $image = "../files/".date("YmdHis",time())."$ext";
    copy($_FILES['image']['tmp_name'], "../".$image);
    }

    запись в файл не происходит. Зато когда я убираю if (!empty($_FILES['image']['tmp_name'])) - всё превосходно исполняется. Пробовал заменить empty на is_uploaded_file - никакого эффекта. Может быть такая проверка и не нужна, но мне приспичило. В чём здесь дело?
    И ещё. Я генерирую для каждого файла уникальное имя. А как сохранить файл под его оригинальным именем (пробовал присвоить переменной значение $_FILES['image']['name'] - выдаётся ошибку)? Есть ли смысл в таком подходе, ведь имена могут повторяться или для каждого можно генерировать уникальное имя?
    Заранее спасибо. Надеюсь, я не очень сумбурно объяснил.
     
  2. MajestiC

    MajestiC Гость

    Вместо empty - is_uploaded_file
    Вместо copy- move_uploaded_file

    Ну так посмотри что у тебя находится в $_FILES['image'], дебажишь что ли в первый раз?

    $image = "../files/".$_FILES['image']['name'];
    copy($_FILES['image']['tmp_name'], "../".$image);

    Обычно лучше генерировать уникальное.
     
  3. Crazystitch

    Crazystitch Гость

    У меня также возникла проблема с копированием загруженного файла

    Ошибка где-то тут:


    $addr="Images/".$_FILES["foto"]["name"];
    move_uploaded_file($_FILES["foto"]["tmp_name"], $addr);

    значение $_FILES["foto"]["tmp_name"]=/home/sites/tmp/phpH1wZiC


    Папка Images реально существует, всю инфу про файл вытянуть можно, а вот скопировать из временной директории в нужную не удается.

    Помогите, плз
     
  4. MajestiC

    MajestiC Гость

    Скорее всего проблема в правах на запись в директорию
     
  5. Artexoid

    Artexoid Гость

    А Ты случаем не забыл

    enctype="multipart/form-data"

    в теге форм :D?. Тогда всё норм выглядит, но файл не сохраняеться !! :eek:.

    Код (Text):
    <form action="<?=$_SERVER['PHP_SELF']?>" method="POST" enctype="multipart/form-data">
     
  6. MajestiC

    MajestiC Гость

    Для: Artexoid
    Да вроде он не забыл, раз $_FILES["foto"]["tmp_name"]=/home/sites/tmp/phpH1wZiC, значит что-то закачалось.
     
  7. Crazystitch

    Crazystitch Гость

    Для: Artexoid

    К сожалению, не забыла. Если бы все так просто решалось, я была бы просто счастлива. (Я не он, я она). Скорее всего проблема действительно в правах. по крайней мере такой ответ удовлетворил заказчика :). Хотя если вдруг возможна другая причина, то хотелось бы ее устранить
     
  8. Artexoid

    Artexoid Гость

    Crazystitch, Прошу прощения, Так в чём проблемма?? Зайди и посмотри какие права доступа стоят на каталоге..!
     
Загрузка...

Поделиться этой страницей