» Программирование>как в PHP сделать так, чтобы из одного файла можно было заменить/удалить строчку
Daria 15:31 19.12.2004
Люди, помогите !
Скажите, пожалуйста, как в PHP сделать так, чтобы из одного файла можно было заменить/удалить строчку в другом файле.
Например, у меня есть два PHP файла, один называется test1.php, а
второй test2.php. Мне надо так, чтобы файл test1.php заменял или удалял одну строчку в файле test2.php.
Daria ты не уточнила, нужно ли тебе изменять сам файл, или же нужно изменять вывод на экран, не изменяя сам файл. исходя из того, что имя второго файла заканчивается на Php, я так понял что вариант всё-таки первый
вот тебе скрипт test1.php, который будет открывать файл test2.php, искать строку $s_match и заменять её на $s_replace
//если файл h1 удалось открыть
if($h1) {
//пока не дошли до конца файла
while (!feof($h1)) {
// читаем файл по одной линии и сохраняем в буфере
$buffer = fgets($h1, 4096);
//проверяем буфер на наличие строки, которую ищем, и если нашли, заменяем:
$buffer = str_replace($s_match, $s_replace, $buffer);
//пишем буфер в tempfile, добавляем переход на новую строку вв конце каждой строки:
fwrite($h2, $buffer ."\n")
//удаляем первый файл
unlink($filename1);
//переименовываем второй:
rename($filename2, $filename1);
//вуаля
echo "усё у порядке, шеу";
die();
?>
[/php]
[Ответ]
ilyaerin 01:08 21.12.2004
yujanin Это немножко другая задача, но твой алгоритм далек от идеального... Почему бы просто не прочитать весь файл сразу в одну строчку, потом замнена и переписать файл?... ИМХО - гораздо быстрее, да и код меньше...
[Ответ]
yujanin 01:29 21.12.2004
loshadka я не претендую на идеального кодера, я сетевой администратор[Ответ]
Daria 07:30 21.12.2004
Сообщение от : Первоначальное сообщение от yujanin Daria или же нужно изменять вывод на экран, не изменяя сам файл.[/php]
Сообщение от : Первоначальное сообщение от Daria Как раз это мне и нужно!
ну тады ещё легче
[php]
<?php
//строка для поиска:
$s_match = "blablabla";
//чем заменяем:
$s_replace = "yadayada";
//открываем файлы. tempfile - для временного переноса данных
$filename1 = "./test2.php";
$h1 = fopen($filename1, "r");
//если файл h1 удалось открыть
if($h1) {
//пока не дошли до конца файла
while (!feof($h1)) {
// читаем файл по одной линии и сохраняем в буфере
$buffer = fgets($h1, 4096);
//проверяем буфер на наличие строки, которую ищем, и если нашли, заменяем, и выводим на экран:
$buffer= str_replace($s_match, $s_replace, $buffer);
echo $buffer;
yujanin, у меня ничего не получается, возможно я допустила ошибку, я новичок в этом деле. Пожалуйста, проверьте мой скрипт:
var $test.php;
var $h1;
<?
//строка для поиска
$s_match = "blablabla";
//строка для замены
$s_replace = "yadayada";
//открываем файлы. tempfile - для временного переноса данных
$test.php = "./test1.php";
$h1 = fopen($test.php, "r");
// если файл h1 удалось открыть
if($h1) {
// пока не дошли до конца файла
while (!feof($h1)) {
// читаем файл по одной линии и сохраняем в буфере
$buffer = fgets($h1, 4096);
// проверяем буфер на наличие строки, которую ищем, и если нашли, то заменяем
$buffer= str_replace($s_match, $s_replace, $buffer);
echo $buffer;
Первоначальное сообщение от yujanin
loshadka так она сказала, ей файл сам исправлять не нужно, а нужно только вывод на экран изменять.
Так мой пример и изменяет только вывод на экран....
[Ответ]
Daria 14:17 24.12.2004
Большое спасибо, у меня всё получилось.
Но теперь, у меня другая проблема, мне надо написать скрипт,
который бы менял картинки, одну на другую.
Например, у сайта две версии, русская и английская и мне надо чтобы, если была бы выбрана русская версия, то загружалась одна картинка, а если английская, то другая.
Помогите, пожалуйста, я вас очень прошу.
[Ответ]
ilyaerin 11:02 26.12.2004
Daria
Используй
[php]
if( условие )
{
выражение 1
}
else
{
выражение 2
}
[/php]
А вообще - сходи на сайт phpclub.ru - там довольно много неплохих статей, написаны как раз для новичков, еще там очень хороший форум, токо прежде чем что-то спросить - используй поиск...
[Ответ]
loshadka, извините, но у меня ещё одна проблема.
Я в книгах по PHP не могу найти, как изменить цвет текста в web-странице, сделанной в PHP.
Если вы знаете, то помогите, пожалуйста.
[Ответ]
Daria, поище в книге по Си. Там точно есть.
[Ответ]
ilyaerin 12:55 30.12.2004
Daria Пхп только создает страницу....
Все что выводится - это html, или xml, так, что цвет меняй html тегами, или css стилями... Сходи по ссылке, я давал, почитай про самые основы...
[Ответ]