форум вебмастеро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 Скажи для начала, какую ошибку выдаёт интерпретатор? |
|
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:26901, gzipped size:8297 |