andreevich
17.07.2009 - 14:56
Вот такая ситуация:
Я создаю файл в одной директории, потом перемещаю его в другую
PHP |
$name=$dirr.$lnIAS.$ln.$name3.'.'.$caunt; // имя предварительного файла $name2=$dirr2.$lnIAS.$ln.$name3.'.'.$caunt; // имя итогового файла $text=$_POST['note']; //текст $fp = fopen ("$name", "w"); fwrite($fp,$text); fclose($fp); (rename ($name,$name2))or die ('err'); |
Всё замечательно!
Идём дальше... я проверяю директорию и передаю имя файла по ссылке
PHP |
if (is_dir($dir2)) { if ($dh = opendir($dir2)) { while (($file = readdir($dh)) !== false) { if(fnmatch('01'.$_SESSION['ln'].'0000.*',$file)) { echo "<a href='get2.php?filename=".$dir2.$file."'>".$file."</a><br>"; } } closedir($dh); } } |
Опять всё здорово.
Далее после манипуляций разных я ещё раз переношу файл
PHP |
$name=$_GET['filename']; $ras=$_SESSION['count']-1; $name2='d:/f3/temp/'.'user_'.$_SESSION['ln'].'.'.$ras; rename($name,$name2); |
Опять таки, всё просто замечательно.
Таким образом я :
1 • создал файл в директории temp;
2 • перенёс его в другую директорию;
3 • нашёл файл, передал его имя;
4 • провёл манипуляцию с файлом (вывел в форму);
5 • перенёс его в другую директорию.
Все 5 действий выполнены без ошибок и всё хорошо.
Вот я и подошёл к вопросу:
если я не с помощью скрипта создаю файл, а просто ручками (пропуская первых два шага) третий, четвёртый пункты выполняюстя хорошо,а потом выводится ошибка
PHP |
PHP Warning: rename(d:/f3/locuseri/01480000.8,d:/f3/temp/user_48.5): No such file or directory in D:siteapget2.rename($name,$name2); |
тем самым 5 действие не выполняется

.
Я так понимаю скрипт просто не удаляет созданный ручками файл
Спустя 3 часа, 23 минуты, 28 секунд (17.07.2009 - 17:19) kirik написал(а):
Ну наверное что-то связано с правами на файл.. Когда создаешь ручками попробуй на него 0777 поставить права.
Спустя 2 дня, 15 часов, 7 минут, 35 секунд (20.07.2009 - 08:27) andreevich написал(а):
опачки, как оно всё неожиданно.
1) на компьютере я %username% в группе администраторв
2) для админов полный доступ к файлу
3) а отдельные права для меня - только чтение.
Спасибо за наводку, всё работает теперь