Help! Скрипт с fopen и while на серваке выдает ошибку...

  • Автор темы -=GogA[qwe]=-
  • Дата начала

-=GogA[qwe]=-

Guest
Help! Скрипт с fopen и while на серваке выдает ошибку...

У меня все работает, а на серваке...
Строки: 84-86, 300...
PHP:
$flog = fopen("data/log.dat", "a");
   fwrite($flog, ">".$name." pasw ".date("Y.m.d H:i:s",time())."\r\n");
   fclose($flog);
PHP:
$d = dir($path);
while (false !== ($entry = $d->read()))
if (($entry!="..")&&($entry!="."))
 { //и т д
Выдает
Warning: fopen(data/log.dat): failed to open stream: Permission denied in *** on line 84

Warning: fwrite(): supplied argument is not a valid stream resource in *** on line 85

Warning: fclose(): supplied argument is not a valid stream resource in *** on line 86

И Fatal error: Call to a member function on a non-object in *** on line 301
 

enabled

Guest
Ну строка о permision denied мне говорит о том, что доступа к файлу НЕТ!

У тебя либо нет прав на запись в файл, липо что-то с правами на папку(второе менее вероятно)

Остальные ошибки вызваны этой :)

Переваривай...
 

-=GogA[qwe]=-

Guest
Вохможно... в .htaccess поставлено
Order allow,deny
Deny from all
Хотя у меня на комне всё с этим пашет, типа доступ только из скриптов разрешён, а запросы из браузера посылает подальше...

-~{}~ 11.04.04 16:27:

а что на счёт Call to a member function on a non-object...
 

enabled

Guest
На счет Call to a member function on a non-object:
то означет, что функция хреновата вызвана корявенькими ручьками :)

У тебя код НЕВЕРЕН!

$dir = dir($path);
$d = new Твой_класс();
while (false !== ($entry = $d->read($dir)))
if (($entry!="..")&&($entry!="."))
{ //и т д

Ну хотя б так :)
Типа того
 

-=GogA[qwe]=-

Guest
Дома WindowsXP
Сервак:
Платформа Dual PIII, 1Gb RAM
Система FreeHost Engine 0.8
Операционная система FreeBSD 4.7-RELEASE
Веб-сервер Apache 2.0.47
FTP-сервер ProFTPD 1.2.9
SMTP-сервер Postfix 2.0.10
POP3-сервер Courier-Imap 1.7.3
СУБД MySQL 4.0.18
Интерпретаторы и компиляторы Perl 5.8.0
PHP 4.3.5
GCC 2.95.4
Python 2.2.3


На счет классов ничего не делал, т. к. у меня и без них всё работало...

-~{}~ 11.04.04 16:43:

301 строка:
while (false !== ($entry = $d->read()))

Не из-за .htaccess - разрешал полный доступ - всёравно не пашет...
 

enabled

Guest
Ну и зачем такие подробности :)
.htaccess на винде не работает :)
Но это темы кода никак не касается :)
 

Winer

Мимо проходил
-=GogA[qwe]=-
.htaccess - набор инструций(указаний) к апачу, но никак не к ОС, просто у тебя как пользователя в данной ОС нет прав на создание/запись файлов, или нет прав на просмотр директории(хотя могу и ошибаться, не шибко силён в пермишенах).
попробуй сделать chmod в шелле.
 

Frol

Новичок
enabled
заткнись. иди почитай [m]dir[/m]

-=GogA[qwe]=-
а тебе бегом права на файл проверять

-~{}~ 11.04.04 15:49:

enabled
ReadOnlyTeam для таких, как ты сделали
 

enabled

Guest
Frol
Ты читал, что я ему втирал выше?

-~{}~ 11.04.04 16:50:

Про права
 

-=GogA[qwe]=-

Guest
как быть, он туда-сюда инфу там гоняет... и что делать с while'ом???
 

enabled

Guest
Winer
Rак заставить работать .htaccess под апач2? Что мне нужно поменять в httpd.conf?
 

Winer

Мимо проходил
enabled
<Directory your_directory>
AllowOverride All;может быть Options,File,..подробнее в мане по апачу
...
</Directory>
 

-=GogA[qwe]=-

Guest
проблема помоему в том, что сервак не разнешает писать (ударени на второй слог)... разбираюсь с

$dir = dir($path);
$d = new Твой_класс();
while (false !== ($entry = $d->read($dir)))
if (($entry!="..")&&($entry!="."))
{ //и т д
:)
 

Winer

Мимо проходил
-=GogA[qwe]=-
у тебя шелл на серваке том есть ???
тогда зайди в директорию с файлом и chmod 644 имя_файла или chmod имя_файла 644(не помню точно)
и ещё man chmod
может у тебя есть права, просто по умолчанию такие пермишены ставятся
 

enabled

Guest
-=GogA[qwe]=-
Или через FTP аплоадер, к примеру можно сменить

-~{}~ 11.04.04 17:08:

В Cute FTP-Uploader эта фича есть
 

-=GogA[qwe]=-

Guest
Cute FTP-Uploader нет,
так не качатьже мне его?
 

enabled

Guest
Так напиши скрипт, который юзает шел команды и выставит права твоему фалику
 
Сверху