непредсказуемая функция copy() PHP

Discussion in 'PHP' started by vorona, 3 Feb 2011.

  1. vorona

    vorona Member

    Joined:
    7 Sep 2009
    Messages:
    392
    Likes Received:
    7
    Reputations:
    1
    На локалке (Виндовс+ТопСервер) скрипт работает отлично. Всё копируется нормально.

    А вот на VDS (Debian 5) не хочет. Копирует непонятно что и как. В результате в папке появляется файл с половиной имени, что должно быть, его нельзя удалить, нельзя переименовать.

    Когда пытаюсь залить файл с полным именем, которое должно было скопироваться, то выдается также ошибка.

    Подскажите, в чем может быть проблема?


    При попытке залить нормальный файл:

    Unexpected directory listing line ' Davies'.
    Invalid rights description 'Davies'


    Ну и сам код:

    PHP:
    copy ($_SERVER[DOCUMENT_ROOT]."/img/p1/".$_POST['photo'], $_SERVER[DOCUMENT_ROOT]."/img/p2/".$rowx[2].".jpg") or die ("Ошибка копирования");

    $_POST['photo'] состоит из номера изображения. Например, 15.jpg.
    $rowx[2] состоит из имени и фамилии. Например, Coco Chanelle.


    Уже и так пробывал:

    PHP:
    PHP код:
    $file $_SERVER[DOCUMENT_ROOT].'/img/p1/'.$_POST['photo'];  
    $dir  $_SERVER[DOCUMENT_ROOT].'/img/p2/';  
    $name 'file.jpg'  

    copy($file$dir.basename($name)); 
     
  2. iprophet

    iprophet New Member

    Joined:
    22 Apr 2010
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    Мне кажеться это из-за пробела в $rowx[2].
    Я в пробелы заменил на нижнее подчеркивание "_":

    PHP:
    $rowx[2] = preg_replace ("/\s+/""_"$rowx[2]);
    copy ($_SERVER[DOCUMENT_ROOT]."/img/p1/".$_POST['photo'], $_SERVER[DOCUMENT_ROOT]."/img/p2/".$rowx[2].".jpg") or die ("Ошибка копирования");  
     
  3. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    dirname(__FILE__);
    move_uploaded_file


    погоди, а ты файл загружаешь?
     
    #3 Chaak, 4 Feb 2011
    Last edited: 4 Feb 2011
  4. vorona

    vorona Member

    Joined:
    7 Sep 2009
    Messages:
    392
    Likes Received:
    7
    Reputations:
    1
    #2, ставлю вместо пробела %20
    #3, нет, просто копирую.
     
  5. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    chmod?
     
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    vorona вы уверены что ошибку вызывает именно строка с copy?
    Покажите значение $_POST['photo'] и $rowx[2] на проблемном файле
    Зачем и когда вы это делаете?
     
    _________________________
  7. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    чел говорит что файл копируется... но потом не удаляется и не перезаписывается...

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

    далее все зависит от палитики сервера, возможно сервер запрещает удалять файлы создаными от апача, рута или нойбоди... (уточни кому принадлежит созданный файл..)

    правь файл через chown

    ----

    решение:
    запускать скрипт от своего имени || при копировании не используй полный путь... а отсчитывай относительно корневой папки сайта...

     
Loading...
Similar Threads - непредсказуемая функция copy
  1. GAiN
    Replies:
    4
    Views:
    7,108