Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Интернет-языки

Страница: 1 |

 

  Вопрос: PHP - Почему файл не создается? Добавлено: 11.11.04 09:53  

Автор вопроса:  Millenium | Web-сайт: www.aliyev.us | ICQ: 629966 
Извиняюсь за беспокойсто, но есть одна загвоздка. Сначало просмотрите код:

<? include ("top.php");
$filename = "news/".$GrpNews."/".$MonthName."/".$DayNum.".htm";
//Записываемые данные
$data = "<html><head><title>$DayNum / $MonthName - $GrpNews</title><meta http-equiv='Content-Type' content='text/html; charset=utf-8'></head><h1 align='center'>$txtTopic</h1><code><pre>".$txtNews."</pre><code></body></html>";
//Если файл сушествует и в него можно записать
if ((!file_exists($filename)) &&  (is_writable($filename))){
  //Открыть файл и установить указатель тек. позиции в конце файла
  $fh = fopen($filename,"a");
  //Запсиать содержимое $data в файл
  $success = fwrite($fh, $data);
  //закрыть файл
  fclose($fh);
  print "Новость добавлена успешно! Ссылка для просмотра файла: <a href=$filename target=_blank>$filename</a>";
}
else {
  print "Не возможно создать файл <b>$filename</b>!";
}
?>


А вапрос такой. Прему выводится что не возможно создать файл?

НО В КОДЕ ОШИБКИ НЕТУ! ХОЧУ ТОЛЬКО ПРИЧИНУ УЗНАТЬ!

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #1 Добавлено: 11.11.04 10:31
naskol`ko ya ponyal u tebya v peremennuyu zapihivaetsya imya fajla, posle etogo proveryaetsya esli on est` i mozhno-li v nego pisat`, i togda tuda pisa.....pishet`sya.....a esli ego netu, ili on ne writable, no vyvoditsya chto ego sojdat` nelizya....nu dyk u tebya ved` netu koda dlya ego sozdaniya.......;)

Ответить

Номер ответа: 2
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #2 Добавлено: 11.11.04 10:32
koroche, vot posle
}
else {

pripishi kod dlya sojdaniya fajla

Ответить

Номер ответа: 3
Автор ответа:
 Millenium



ICQ: 629966 

Вопросов: 118
Ответов: 903
 Web-сайт: www.aliyev.us
 Профиль | | #3
Добавлено: 11.11.04 11:57
Даже если файла нету, то префикс W или A в функции fopen($filename,"a";) должен создать файл. Даже если просто использовав следующий код:
 $fh = fopen($filename,"a";);
  //Запсиать содержимое $data в файл
  $success = fwrite($fh, $data);
  //закрыть файл
  fclose($fh);
...ничего не создается

Ответить

Номер ответа: 4
Автор ответа:
 freeloader



ICQ: 50804884 

Вопросов: 72
Ответов: 642
 Web-сайт: freeloader.folder-pro.net
 Профиль | | #4
Добавлено: 11.11.04 13:58
он на хосте не создается?
у тебя на localhost, все без проблем создается?
Не буду утвержать, но помню раньше у меня проблемы с файлами были потому что, я не выставлял Premission, хотя с другой стороны для чего сдесь выставлять если файла нету...

Ответить

Номер ответа: 5
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #5 Добавлено: 11.11.04 20:47
a is_writable razve true dast esli fajla netu? prosto interesno mne......

Ответить

Номер ответа: 6
Автор ответа:
 freeloader



ICQ: 50804884 

Вопросов: 72
Ответов: 642
 Web-сайт: freeloader.folder-pro.net
 Профиль | | #6
Добавлено: 12.11.04 07:24
 
$fh = fopen($filename,"a";);
  //Запсиать содержимое $data в файл
  $success = fwrite($fh, $data);
  //закрыть файл
  fclose($fh);

 Мистика, прям какая то, сейчас поставлю все хозяйство...

Ответить

Номер ответа: 7
Автор ответа:
 freeloader



ICQ: 50804884 

Вопросов: 72
Ответов: 642
 Web-сайт: freeloader.folder-pro.net
 Профиль | | #7
Добавлено: 12.11.04 08:30

<?php
if ($fp=fopen("mytxt.txt","w";)==false){
$fp=fopen("mytxt.txt","a";);
    $fw=fwrite($fp,";DATA";);
    $fc=fclose($fp);
}
?>

такая конструкция работает

Ответить

Номер ответа: 8
Автор ответа:
 freeloader



ICQ: 50804884 

Вопросов: 72
Ответов: 642
 Web-сайт: freeloader.folder-pro.net
 Профиль | | #8
Добавлено: 12.11.04 09:15
закомментируй строку с If и End If, забыл закомментировать.
Вообще твой код никак не отличается от моего, но по какой то причине на твой мой DzPHPEd ругается:
Parse error: parse error, unexpected T_STRING in C:\Program Files\DzSoft\Project(files)\phpD0A.tmp on line 18
18 строка, как раз выпадает на  $success = fwrite($fh, $data);

Ответить

Номер ответа: 9
Автор ответа:
 Millenium



ICQ: 629966 

Вопросов: 118
Ответов: 903
 Web-сайт: www.aliyev.us
 Профиль | | #9
Добавлено: 13.11.04 13:05
Я исправил. И удалил IS_WRITABLE - Но главная проблема была в Permission. Оказывается надо дать разрешение Word для записи. Так как у меня сервер на Win32 стоял с Разрешениями (Permissions) проблем не было, а вот когда загрузил на сервер (а там Линда стоит) то всё как-то не так было. Но сейчас всё исправил! Всем спасибо!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам