Без описания |
Поиск в теме | Версия для печати |
UFO |
Отправлено: 17 Апреля, 2010 - 07:56:06
|
Full Member
Покинул форум
Сообщений всего: 212
Дата рег-ции: Янв. 2005
Карма 0
|
Имеется файл a_fila.txt, в котором на отдельной строке находится название другого файла с расширением. Таких строк 1710. В каждый из таких файлов надо записать строку "*: :fail: No Such User Here" и еще одну пустую.
Использую такой код:
CODE:<?php
$fila = file("a_file.txt"); // получаем список файлов
for($i = 0; $i < sizeof($fila); $i++)
{
$new=$fila[$i]; // каждая строка файла, т.е. имя файла, записываем в переменную
$str="*: :fail: No Such User Here\n"; // строка, которую надо записать и вторая пустая
$fp=fopen("$new", "w+"); // открываем файл (один из 1710) для полной перезаписи
fputs($fp,$str); // пишем строку в файл (это-то и не выполняется! хотя в других ситуациях работает)
fclose($fp); // закрываем
echo $new; // покажем имя файла
echo "OK<br>"; // что все окей
};
?>
Открывает файл со списоком - хорошо, потом выводит список файлов, но ничего в результате не пишет.
Почему?(Отредактировано автором: 17 Апреля, 2010 - 07:57:55) |
|
|
UFO |
Отправлено: 17 Апреля, 2010 - 09:57:30
|
Full Member
Покинул форум
Сообщений всего: 212
Дата рег-ции: Янв. 2005
Карма 0
|
Леголегс пишет:А что, ошибок никаких не выдаётся? Добавь на всякий случай в начало скрипта CODE:error_reporting (E_ALL);
Не выдает, добавил - тоже самое.
Цитата:Чему равно $fp после фопена?
Resource id #13
Resource id #14
и т.д.
Цитата:Может просто прав на открытие нет?
Есть, всем файлом поставил 777, кроме скрипта - ему не надо.
Цитата:Кроме того, у fputs тоже есть возвращаемое значение (число записанных байт).
А, да. Под виндой может понадобится явно указать бинарный режим ("w+b" .
Не, там Linux, но +b поставил - не помогло.
Мне кажется, строчка
CODE:$fp=fopen("$new", "w+");
какая-то нехорошая, две переменных в fopen, может ему что-то не нравится. Насчет кавычек - уверен, что надо так. Я раньше делал такое с одной переменной, т.е. что-то вроде
CODE:$fp=fopen("user/$login.php", "w+");
а тут получается
CODE:$fp=fopen("$fila[$i]", "w+"); (Отредактировано автором: 17 Апреля, 2010 - 09:57:57) |
|
|
|
Поиск в теме | Версия для печати |
Страниц (1): [1] |
Сейчас эту тему просматривают: 3 (гостей: 3, зарегистрированных: 0, скрытых: 0) |
« PHP/Perl » |
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
|
|
|