Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > Как под юникс заставить перл создавать файлы


Автор: GFM 28.3.2007, 06:32
Всем доброго!
 У меня возникла проблема, писал проект под win32 и думал , а точнее не задумывался о том что могут возникнуть проблемы с созданием файлов под unix платформами.
Я использовал стандартный набор фукций открфтия и закрфтия файла.
open(F,">>myfile");
close(F);
это работает но только если я запускаю скрипт в консоли , если же скрипт отрабатывает через apache то  результат нулевой, понятно что не хватает прав, потому как если я вручную создам файл и дам на него права записи для все груп и пользователей, то писать в него я могу, но это меня мало радует если иной способ решения этой проблемы?

Заранее всем спасибо!

Автор: nitr 28.3.2007, 20:19
GFM, это был бы Win, а не *nix  smile
сами ответили на вопрос - 
Цитата(GFM @  28.3.2007,  06:32 Найти цитируемый пост)
 понятно что не хватает прав


Автор: GFM 29.3.2007, 06:53
Цитата(nitr @ 28.3.2007,  20:19)
GFM, это был бы Win, а не *nix  smile
сами ответили на вопрос - 
Цитата(GFM @  28.3.2007,  06:32 Найти цитируемый пост)
 понятно что не хватает прав

А решение? Или просто констатация, моих слов?

Автор: amg 29.3.2007, 12:42
Можно, например, создать директорию dir где-нибудь, куда апачу есть доступ (например, в DocumentRoot, см. httpd.conf). Затем присвоить эту директорию апачу (chown User.Group dir, User и Group опять же посмотреть в httpd.conf). И создавать файлы в этой директории, указывая при открытии файла путь к ней.

Автор: KSURi 31.3.2007, 13:46
На создание файла в /tmp все равно должно хватить

Автор: nitr 31.3.2007, 16:05
да, туда обычно можно...
Код

open my $flh, '>>', '/tmp/myfile';
print $flh "Content";
close $flh;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)