Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
gordan11
1 / 1 / 1
Регистрация: 16.05.2013
Сообщений: 240
1

Ошибка при записи файла

20.07.2014, 06:18. Просмотров 1056. Ответов 3
Метки нет (Все метки)

Есть такой код
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
    $fq = fopen("num.txt","r");
    $f = fgets($fq,'999');
    fclose($fq);
        $oldstr = "<!-- -->";
        $newstr = "<a href='cd_$f.php'>$f</a>\n<!-- -->";
            $i = 0;
    for($i =  1; $i < $f; $i++) {
        $name = "cd_$i.php";
        $fp = fopen($name, "r");
        $fil = file($name);
        fclose($fp);
        $file = preg_replace($oldstr, $newstr, $fil);
        $fp = fopen($name,'w');
        fwrite($fp,$file);
        fclose($fp);
    }   
?>
он должен находить в файле
HTML5
1
<!-- -->
и заменять на
HTML5
1
<a href='cd_$f.php'>$f</a>\n<!-- -->
.
Но как ни странно, не заменяет, а просто берет и очищает файл.
Попытался вывести
PHP
1
echo "$fil"
выводит arrayarrayarrya и все((.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2014, 06:18
Ответы с готовыми решениями:

Ошибка в чтении и записи файла
&lt;?php $variants=file(&quot;variants.txt&quot;); $current_var=0; $results=file(&quot;results.txt&quot;);...

Ошибка при добавлении записи в БД
Подскажите, что означает эта ошибка при добавление записи в БД: Warning: mysql_query(): 2 is not a...

Ошибка при удалении записи из БД
Недавно начал изучать php, ну и сразу работу с MySQL, в книге наткнулся на пример, простая форма, с...

Ошибка при записи в бд pdo php
Всем привет, не могу разобраться с ошибкой! Помогите. Запись в бд $stmt = $db-&gt;prepare(&quot;INSERT...

Кракозябры при записи русского текста в .txt файла
Вобщем у меня проблема с записью русского текста в .txt файла, получаю кракозябры. Понимаю что...

3
alexsamos33
655 / 627 / 333
Регистрация: 26.04.2014
Сообщений: 2,098
20.07.2014, 07:12 2
Попробуйте так:
PHP
1
        $fp = fopen($name,'a+');
1
gordan11
1 / 1 / 1
Регистрация: 16.05.2013
Сообщений: 240
20.07.2014, 08:09  [ТС] 3
Цитата Сообщение от alexsamos33 Посмотреть сообщение
Попробуйте так:
Выдает ошибку Warning: fwrite() expects parameter 2 to be string, array given in и файл не трогает вообще

Добавлено через 43 минуты
нашел такой скрипт
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 $fq = fopen("num.txt","r");
    $f = fgets($fq,'999');
    fclose($fq);
        $oldstr = "<!-- -->";
        $newstr = "<a href='cd_$f.php'>$f</a>\n<!-- -->";
        $i = 0;
    for($i =  1; $i < $f; $i++) {
        $yourfile = "cd_$i.php";
        $file = file($yourfile);
        if (is_array($file)) 
    { 
    foreach($file as $key => $value) 
        {
        $file[$key]= preg_replace($oldstr, $newstr, $value); 
        } 
    } 
    else 
    {
    exit ("Ошибка");
    }
$fp = fopen($yourfile, "w+"); // перезаписываем независимо от длины новой строки
fwrite($fp,implode("",$file)); 
fclose($fp);
echo "Строка успешно заменена";
    }
работает, НО почему то вставляет такую строку
HTML5
1
2
<<a href='cd_$f.php'>$f</a>
<!-- -->>
0
BarbosLV
363 / 401 / 165
Регистрация: 29.05.2014
Сообщений: 1,494
20.07.2014, 13:51 4
Лучший ответ Сообщение было отмечено gordan11 как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$file = "test.txt";//твой файл
$text = fopen($file, "r");
while(!feof($text)) 
    { 
        $str = fgets($text);
        $str2 = str_replace("<!-- -->","<a href='cd_$f.php'>$f</a>\n<!-- -->",$str);
        $new_text.= $str2;
    }
 
$f = fopen($file, "w");
fwrite($f, $new_text); 
fclose($f);
1
20.07.2014, 13:51
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2014, 13:51

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ошибка при добавлении записи через форму в БД
Делаю админ-панель на сайте и возникла проблема, вылетает ошибка при попытке отправить данные. ...

Ошибка при записи из массива в файл - Is not a valid stream resource
Пытаюсь записать данные из массива в файл. В итоге мне говорят Warning: fwrite(): 3 is not a valid...

Ошибка при чтении файла
&lt;?php $file = fopen('C:\WebServers\home\localhost\www\mail\file.txt','r'); if (!$file) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.