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

1. CROWS (03.02.2011 / 22:52)
На локалке (Виндовс+ТопСервер) скрипт работает отлично. Всё копируется нормально.

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

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

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


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

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


Ну и сам код:

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

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

2. Nu3oN (03.02.2011 / 22:55)
copy($file,$dir.basename($name));

3. CROWS (03.02.2011 / 22:58)
Nu3oN (3 Февраля 2011 / 22:55)
copy($file, basename($newfile));
Прочитай первое предложение.

4. Nu3oN (03.02.2011 / 23:00)
<?php
$file = $_SERVER[DOCUMENT_ROOT].'/img/p1/'.$_POST['photo'];
$dir  = $_SERVER[DOCUMENT_ROOT].'/img/p2/';
$name = 'file.jpg'

copy($file, $dir.basename($name));
?>
Пробуй а не оговаривайся smile

5. CROWS (03.02.2011 / 23:03)
Nu3oN (3 Февраля 2011 / 23:00)
<?php
$file = $_SERVER[DOCUMENT_ROOT].'/img/p1/'.$_POST['photo'];
$dir  = $_SERVER[DOCUMENT_ROOT].'/img/p2/';
$name = 'file.jpg'

copy($file, $dir.basename($name));
?>
Пробуй а не оговаривайся smile
Ок, попробую. Спасибо.

6. Nu3oN (03.02.2011 / 23:04)
З.ы что бы удалить те файлы тебе теперь надо перезапустить сервер!
или обратится к администрации

7. CROWS (03.02.2011 / 23:06)
Nu3oN (3 Февраля 2011 / 23:04)
З.ы что бы удалить те файлы тебе теперь надо перезапустить сервер!
или обратится к администрации
А почему они так записываются? Не знаешь?

8. Nu3oN (03.02.2011 / 23:06)
если не получится юзай тогда move_uploaded_file()

Добавлено через 07:53 сек.
х.з! попробуй еще права доступа глянуть на файле который копируешь

Добавлено через 08:26 сек.
з.ы ты там если что отпишись помогло или нет!

9. CROWS (03.02.2011 / 23:15)
От блин. Что-то опять на локалке работает этим способом, а на сервере по-прежнесу лагает.

10. Владимир (03.02.2011 / 23:26)
Можно удалить эти файлы свободно, только через cPanel ну или что там у тебя. Короче через файловый менеджер панели хостинга. Если конечно такая имеется ;) так как все файлы скопированные или созданные средствами скрипта, становятся доступными только для сервера. Так что и удалять и менять права доступа нужно средствами скрипта.

11. Nu3oN (03.02.2011 / 23:31)
поправочка! файлами как раз таки которые сгенерированны скриптом, можно управлять через php сценарий !

12. Владимир (03.02.2011 / 23:49)
Nu3oN (3 Февраля 2011 / 23:31)
поправочка! файлами как раз таки которые сгенерированны скриптом, можно управлять через php сценарий !
ну я как раз об этом и говорю. Либо делать скрипт который будет удалять это, либо через файловый менеджер панели ;)

Добавлено через 01:18 сек.
Но через ФТП такими файлами управлять уже нельзя, так как прав нет. Даже права доступа не сменишь ;)

13. Владислав (04.02.2011 / 00:35)
юзай exec('wget -O ' . dirname(__FILE__) . '/file.txt http://site.ru/file.txt');

14. Саня (04.02.2011 / 00:40)
12. CHUMA, под рутом такие файлы тоже не удаляются?

15. valakas (04.02.2011 / 03:25)
файлы созданные скриптом создаются с правами 666 владелец www-data т.е созданные апачем

16. Марсель (04.02.2011 / 03:35)
Не все так создаются)

17. Владимир (04.02.2011 / 05:37)
Santez (4 Февраля 2011 / 00:40)
12. CHUMA, под рутом такие файлы тоже не удаляются?
вот это я не знаю. В смысле под рутом, значит как админ сервера? Скорее всего тоже не получится. Так как уже написали что файлы создаются с правами доступа только для сервера - апач. Фиг его. Я не сильно в этом шарю smile

Добавлено через 08:09 сек.
ofroke (4 Февраля 2011 / 03:35)
Не все так создаются)
ну мне кажется, если во время создания файла, так же скриптом устанавливать права chmod, то будет всё норм. И тогда по фтп должно будет получаться ими управлять.

18. CROWS (04.02.2011 / 07:19)
CHUMA (3 Февраля 2011 / 23:26)
Можно удалить эти файлы свободно, только через cPanel ну или что там у тебя. Короче через файловый менеджер панели хостинга. Если конечно такая имеется ;) так как все файлы скопированные или созданные средствами скрипта, становятся доступными только для сервера. Так что и удалять и менять права доступа нужно средствами скрипта.

ISPM не удаляет.

Добавлено через 01:57 сек.
ByVlad (4 Февраля 2011 / 00:35)
юзай exec('wget -O ' . dirname(__FILE__) . '/file.txt http://site.ru/file.txt');
Знаю, как через exec, но он у меня не используется в целях без-ти. Не хочу функцию вновь разрешать на выполнение.

Добавлено через 03:51 сек.
Возможно, проблема в файловой системе юникса и вот в этом пробеле в названии файла...

19. Б.В. (04.02.2011 / 08:06)
Под рутом удаляется все, что хочешь.
Такая тема получается именного из-за того, что апач создает файл, чтоб другим пользователям его можно было изменять - надо ставить соответсвующие права самим скриптом.
Чтоб файл создавался от имени пользователя, а не апача, надо юзать php + cgi - читал об этом, но не вникал, так что тут советов конкретных не дам.

20. ктулху (04.02.2011 / 10:31)
Эммм.... вообще вся проблема в том что ТС незнает элементарных стандартов. Ненадо использовать пробелы в имени файла.

21. Андрей (04.02.2011 / 10:46)
Гы) и реально, надо было 1 пост дочитать)

22. CROWS (04.02.2011 / 14:32)
ShiftBHT_есть_чо7 (4 Февраля 2011 / 10:31)
Эммм.... вообще вся проблема в том что ТС незнает элементарных стандартов. Ненадо использовать пробелы в имени файла.
Да ты что? Видать, очень умный человек. Мне со своим %20 вместо проблеа не до тебя D Пойду учить элементарные стандарты ГГ D жесть

23. ктулху (04.02.2011 / 15:11)
Причём тут %20? это только в URL катит.
Есть такая тема что ФС тоже имеет кодировку. Как у тебя настроено никто незнает, поэтому настоятельно рекомендуется использовать файлы без пробелов и только с английскими названиями.

24. CROWS (04.02.2011 / 15:19)
ShiftBHT_есть_чо7 (4 Февраля 2011 / 15:11)
это только в URL катит.
Как раз-то не только в url. / Пока что пробелы нужны и нужно как-то решить проблему. Позже буду переделывать. / Всем спасибо за внимание. Что-то придумаю сам.

URL: https://visavi.net/topics/18492