форум вебмастероff на AlfaSpace.NET

Ubuntu и Linux |реактивный бесплатный хостинг | Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга | правила форума

  Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ °
Форум вебмастеров на AlfaSpace.NET / Создание сайта / PHP
Автор Сообщение
Malda
Участник

4
# Дата: 8 Июл 2006 06:30


Учусь работать с PHP по книге Колисниченко Самоучитель PHP 5.

И вот у меня работает программа для чтения массива с файла:

//<script language="php">
//echo "<html><head><title>Guestbook</title></head><body>";
//echo "<h1>Guestbook</h1>";
//$f = fopen("C:/WebServer/Apache2/htdocs/gramata.txt","r");
//$List = file("C:/WebServer/Apache2/htdocs/gramata.txt");
//for ($i=0; $i<4; $i++) echo "$List[$i]";
//echo "</body></html>";
//</script>

Ну никак неработает программа для записи текста в файл:

//<script language="php">
//$f = fopen("C:/WebServer/Apache2/htdocs/gramata.txt","r+") or die("Error!");
//fwrite ($f,"Does PHP work?");
//fflush ($f);
//fclose ($f);
//</script>

Какая может быть причина тому, что запись неработает? Mожет надо специально конфигурировать PHP и Apache, чтобы запись работала? У меня Apache 2.0.58., PHP 5.1.4. и Windows XP.

acsid
Alfa Guru

2444
# Дата: 8 Июл 2006 06:35 ° Поправил: acsid


Malda
выкинь книгу в парашу и делай так:
file.php :
 
<?php 
echo "<html><head><title>Guestbook</title></head><body>"; 
echo "<h1>Guestbook</h1>"; 
$f = fopen("C:/WebServer/Apache2/htdocs/gramata.txt","r"); 
$List = file("C:/WebServer/Apache2/htdocs/gramata.txt"); 
for ($i=0; $i<4; $i++) echo "$List[$i]"; 
echo "</body></html>"; 

?> 


<? 
$f = fopen("C:/WebServer/Apache2/htdocs/gramata.txt","a+") or die("Error!"); 
fwrite ($f,"Does PHP work?"); 
fclose ($f); 
?> 


Андрей
Алексеевич

2123
# Дата: 8 Июл 2006 08:04


Malda
Запись может не работать по нескольким причинам. Во-первых вместо «<script language="php">» лучше использовать «<?php», как написал acsid. Во-вторых, уверены ли вы, что по пути "C:/WebServer/Apache2/htdocs/gramata.txt" php может получить права на запись? Попробуйте относительный путь. Например просто «gramata.txt». Ко всему прочему, если файла, который вы хотите открыть не существует, то надо указывать другой fopen mode. Вот список fopen modes:
r  - Чтение 
r+   - Чтение и запись 
w    - Запись, усечение - создание 
w+  - Чтение и запись, усечение - создание 
a     - Запись, добавление в конец - создание 
a+   - Чтение и запись, добавление в конец - создание



Подробнее об этом - http://ru.php.net/fopen

Malda
Участник

4
# Дата: 8 Июл 2006 09:39


Спасибо! Файл существует, но наверно нет прав на запись. Попробую исправить.

acsid
Alfa Guru

2444
# Дата: 8 Июл 2006 09:56


Malda
алё у тебя же видновс

persei
Участник

492
# Дата: 8 Июл 2006 11:05


» acsid
$f = fopen("C:/WebServer/Apache2/htdocs/gramata.txt","r"); $List = file("C:/WebServer/Apache2/htdocs/gramata.txt");

Драсте, приехали.
Выкиньте
$f = fopen("C:/WebServer/Apache2/htdocs/gramata.txt","r");
Ф топку!!
функции file это не нужно!

persei
Участник

492
# Дата: 8 Июл 2006 11:09


А вообще если нужно дописывать файл то ставьте a. r+ не есть хорошо!

Андрей
Алексеевич

2123
# Дата: 8 Июл 2006 11:13


Malda
Скажи для начала, какую ошибку выдаёт интерпретатор?

Ваш ответ

Quote  Bold Style  Italic Style  Underlined Style  URL Link  Email Link  Script AutoTab  Preformatted Text  Отменить *Что это?
... Запретить смайлы


Перед отправкой "нелатинского" текста проверьте кодировку броузера!
 » Логин  » Пароль 
 
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:26901, gzipped size:8297

Mp3 Download || Мир Спанч боба || Song's Lyrics
eXTReMe Tracker Rambler's Top100 Рейтинг@Mail.ru Форум ТвойWeb [Valid RSS]