Forum Webscript.Ru
Программирование => PHP => Тема начата: den777 от 16 Сентября 2003, 10:18:38
-
добрый день или вечер сам уже не пойму!
Подскажите пожалуйста ТАКАЯ проблема, я создаю PHP скриптом папку в дериктории а в ней ещё две папки и в одну из них кидаю файло (всё делает скрипт) так вот когда я потом захожу фаром на ФТР первая папка видна а в ней пустота и не каких ошибок не выдаётся как с этим можно справится?
Текст скрипта:
require \'function.php\';
Add_Prepod($cookie_user,$prepod);
if (!is_dir("../../12/$cookie_user"))
{
mkdir("../../12/$cookie_user",0777);
chmod("../../12/$cookie_user",0777);
mkdir ("../../12/$cookie_user/input",0777);
chmod("../../12/$cookie_user/input",0777);
mkdir ("../../12/$cookie_user/output",0777);
chmod("../../12/$cookie_user/output",0777);
$name_prepod="prepod";
copy("photos_prepods/$prepod","../../12/$cookie_user/input/$name_prepod");
chmod("../../12/$cookie_user/input/prepod",0777);
}
header ("Location:http://$HTTP_HOST/contact_interface/timetable/index1.php");
exit();
?>
-
1) какие права стоят на ту папку, котороую ты видишь?
2) а ты шелом зайти можешь?
-
Э...
а абсолютные пути прописать почему не судьба?
-
1.права на папку (полный доступ для всех) 777
2.каким Шелом?
3. На счёт абсолютных путей действительно не судьба я ведь не знаю как обзавёт себя пользователь а первая папка создаётся с именем пользователя.
Дело в том что на локальной тачке всё работает без проблем но правдо под виндой
-
Croaker 2) а ты шелом зайти можешь?
но правдо под виндой
Извините, может я отстал, а что под виндами chmod работает??? у меня в мануале написано:
Note: This function does not work on Windows systems
-
да под виндой chmod вообще не нуже оно и без него прекрасно работает,
а мне надо под UNIX у меня сервак юниксовый там где скрипт лежит,
кстати только что попробовал с абсолютными папками такаяже картина первая создаётся а дальше труба, поскажите как создать вложенные папки
-
den777
Вопрос к хостеру, такая трабла у меня была, у пользователя под которым запускается скрипт отсутствуют права на создание директорий.
Yukko
У винды нету такого понятия chmod (есть архивный, скрытый, только для чтения), хотя скрипты (правда Perl, PHP - не знаю), ошибку не выдают, если я пытаюсь изменить chmod, а просто игнорируют этот оператор
-
den777
На счёт абсолютных путей действительно не судьба я ведь не знаю как обзавёт себя пользователь а первая папка создаётся с именем пользователя
Честно говоря, лучше все-таки судьба, проблем меньше:
mkdir("$path/12/$cookie_user",0777);
P.S. Насчет директорий, если все-таки права пользовалелю дадут (в чем может быть проблема, т.к. обычно скрипты запускаются от имени Apache и системные администраторы весьма неохотно дают такие права, т.к. они начинают распространяться на все скрипты, твои и не очень) сразу попроси права для своего пользователя, которым ты логинишся по FTP, на удаление и изменение каталогов и файлов родителем которых он (твой пользователь) не является. Ибо у меня тоже была трабла - то создано скриптом, скриптом и удаляется, а я могу лишь прочитать. Либо тогда лепи скрипт файлового менеджера...
-
Действительно, обратись к хостеру. Там вполне вероятно, что каталоги создаются не от твоего пользователя, а от того, из под которого apache бегает. И ты эти каталоги посмотреть не можешь, т.к. прав у тебя нету.
Шелл - http://www.yandex.ru/yandsearch?text=%F0%E0%E1%EE%F2%E0+%E2+ssh
-
Phoinix
да я вообще-то в курсе, что chmod это не из той оперы (!browser)...
но только смотрю, что так долго висит, и никто не поправил парня, что аж сомневаться начал...
ошибку и вправду не выдают, но и не работают так как хочет den777
-
Yukko
Насколько, я понял под виндой он у себя проверял, а потом перенес скрипт на unix, и возникли траблы.
Но IMHO вопрос не в том, что chmod не ставится а в том, что папка не создается...
-
хостеру я написал он ешё не ответи но а почему тогда первая папка создаётся (с именем пользователя)
Не создаются папки в папке с именем пользователя папки input и output
-
Вопрос может быть немного не по существу, но все же интересно, в PHP при создании директории какая директория становится текущей - та откуда запущен скрипт или новая - которую создали?
-
ну не знаю как тебе ответить на этот вопрос но если смотреть по моему скрипту то в винде он работает нормально следовательно с путями всё впорядке
Кстати у меня используется ещё один скрипт который копирует файло из одной директории в другую и потом отправляет его по почте так вот там ни каких проблем нет
Подскажите может в PHP есть кокойтить релоад дериктории может скрипт не может увидеть что он создал хотя тогда были бы ошибки.
Кстати когда после каждой операции ставиш echo то всё без ошибок выводится по шагам а папки всё равно не появляются
-
phoinix а есть аська у тебя давай может по ней пообщаемся с
мой номер 261045772
-
Yukko
скрипт лежит в папке contac_interfeis/autentif/record_prepod.php
а создавать должен в корне в папке 12/$user_name это первая а дальше 12/$user_name/input и 12/$user_name/output на всех папках полный доступ
-
Phoinix:
какая директория становится текущей
та в которой запущен скрипт...
-
скрипт называется record_prepod.php
-
(http://www.superweb.nl/yukko/den/linux.gif)
Вот что получается под линуксом... не знаю в чем у тебя проблемы...
-
я там для простоты сразу в переменную $cookie_user значение подставил :)