|
|
|
| Есть такой PHP-скрипт:
16 $newfile = ' ';
17 $file = '/Users/alex/Sites/hostip_current.sql.gz';
18 $newfile = '/Usres/alex/Sites/copy/hostip_current.sql.gz';
19 if (!copy($file, $newfile))
20 {
21 echo "Не удалось скопировать $file... \n";
22 }
Где переменная $file - это путь откуда я беру сам файл, а $newfile - это куда хочю поместить.
Проверяя этот скрип мне выдаёт такую ошибку:
Warning: copy(/Users/alex/Sites/hostip_current.sql.gz) [function.copy]: failed to open stream: Permission denied in /Users/alex/Sites/sergey/1.php on line 19
Не удалось скопировать /Users/alex/Sites/hostip_current.sql.gz...
Поскажите в чём проблема?? | |
|
|
|
|
|
|
|
для: kasir
(06.09.2006 в 16:40)
| | Нет прав на чтение из директории /Users/alex/Sites/
Обычно в таких случаях советуют "поставь права 777", но это не безопасно. 444 тоже поможет... | |
|
|
|
|
|
|
|
для: ec_stasis
(06.09.2006 в 16:51)
| | а как зделать это право?=) | |
|
|
|
|
|
|
|
для: kasir
(06.09.2006 в 16:54)
| | Кстати у Вас ошибка в 18 строке! Заместо директории Users у Вас написано Usres
И как я понимаю такой директории Usres у Вас нет и следовательно копирования не будет | |
|
|
|
|
|
|
|
для: dert
(06.09.2006 в 17:09)
| | Спасибо за находку. Исправил то что нашли не помогло=( | |
|
|
|
|
|
|
|
для: kasir
(06.09.2006 в 16:54)
| | коннектишься ftp-клиентом, например на сервер, жмешь правой кнопкой на этом файле и в "пропертис" ставишь "permissions" 0444. Это если сервер удаленный, а на своем компе - chmod 444 путь/к/директории | |
|
|
|
|
|
|
|
для: ec_stasis
(06.09.2006 в 17:11)
| | Почему Вы считаете, что для создания файла в каталоге, достаточно иметь у этого каталога права на чтение? | |
|
|
|
|
|
|
|
для: Trianon
(06.09.2006 в 17:45)
| | А что может быть ещё??? | |
|
|
|
|
|
|
|
для: kasir
(06.09.2006 в 17:49)
| | Как минимум еще на запись. Т.е. 666 . Вот только если это каталог, в котором лежат исполняемые скрипты, Вы сделаете себе дыру. | |
|
|
|
|
|
|
|
для: Trianon
(06.09.2006 в 17:56)
| | Тоесть в функции chmod ($file, 0777), исправить на 0666?? я так понял вас?? | |
|
|
|
|
|
|
|
для: kasir
(06.09.2006 в 18:00)
| | неправильно.
права не на файл.
Права на целевой каталог. На /Users/alex/Sites/copy | |
|
|
|
|
|
|
|
для: Trianon
(06.09.2006 в 18:02)
| | Как по моему права на каталог должны стоять автоматом.
Заменил на chmod ("/User/alex/Sites/copy", 0666);, не помогло та же самая ошибка=(
Чтож такое=( | |
|
|
|
|
|
|
|
для: kasir
(06.09.2006 в 18:08)
| | я говорил, что нужно поставить права на каталог, а не писать chmod ("/User/alex/Sites/copy", 0666);,
Эта строка может и не справиться с такой задачей.
Это же не Ваша машина? Используйте FTP-клиент. Меняйте права через него. | |
|
|
|
|
|
|
|
для: Trianon
(06.09.2006 в 18:25)
| | В этом извените за грубость, долбаном Макентоше немогу найти как поставить права на каталог=(
Может кто умеет обращатся с Маками помогите!!!!!!!! | |
|
|
|
|
|
|
|
для: kasir
(06.09.2006 в 18:47)
| | На маках, особенно на последних где-то в программах точно имеется командная строка. Но людей работающих с маками мало - они дороги и специфичны. У меня была мысль обзавестись маком, чтобы посмотреть на легендарную систему, но я отказался, так как работать на нём вряд ли стал бы, а в железки играться уже не охото. Мы бы с радостью вам помогли, но мы не можем воспроизвести ситуацию и слабо знакомы с маками - они же вроде больше своей графикой славятся и плохо приспособелы для программирования. | |
|
|
|
|
|
|
|
для: ec_stasis
(06.09.2006 в 16:51)
| | Непойму куда надо поставить 777 или 444 | |
|
|
|
|
|
|
|
для: kasir
(06.09.2006 в 17:08)
| | Изменил путь откуда беру файл на как мне кажется точнее $file = '../hostip_current.sql.gz', добавил функцию chmod ($file, 0444);
$newfile = '';
$file = '../hostip_current.sql.gz';
$newfile = '/Users/alex/Sites/copy/hostip_current.sql.gz';
chmod ($file, 0777);
if (!copy($file, $newfile))
{
echo "Не удалось скопировать $file... \n";
}
exit;
И всёравно выдаёт ошибку:
Warning: chmod() [function.chmod]: Operation not permitted in /Users/alex/Sites/sergey/1.php on line 19
Warning: copy(/Users/alex/Sites/copy/hostip_current.sql.gz) [function.copy]: failed to open stream: Permission denied in /Users/alex/Sites/sergey/1.php on line 20
Не удалось скопировать ../hostip_current.sql.gz...
Что не так??=( | |
|
|
|
|
|
|
|
для: kasir
(06.09.2006 в 17:37)
| | А на каком Вы хостинге размещаетесь, в целях безопасности у многих хостнгах права на директорию на сервере стоят 555? Возможно надо через Shell доступ ставить права 777 на директорию в которую Вы хотите копировать | |
|
|
|
|
|
|
|
для: dert
(06.09.2006 в 17:44)
| | У него локальная машина, нужно просто запустить скрипт. | |
|
|
|
|
|
|
|
для: kasir
(06.09.2006 в 17:37)
| | Вот так попробуйте
<?php
$newfile = '';
$file = '../hostip_current.sql.gz';
$newfile = '/Users/alex/Sites/copy/hostip_current.sql.gz';
chmod ($file, 0777);
chmod('/Users/alex/Sites/copy/', 077);
if (!copy($file, $newfile))
{
echo "Не удалось скопировать $file... \n";
}
exit();
?>
|
PS Вы при помощи какой программы в маке по директориям перемещаетесь, как она называется? | |
|
|
|
|
|
|
|
для: cheops
(06.09.2006 в 23:17)
| | Спасибо большое за помощ. Мы одалели этот скрипт и мой Макентош)) | |
|
|
|