Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Прочитать строку из файла - вопрс
Kira  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Доброго времени. С пхп знаком на уровне "приходилось редактировать файлы"
Такой вопрос: нужно читать первую строку из файла чтобы через переменную вывести ее в нужном мне месте и удалить ее после этого из файла. какую функцию использовать? тоесть должно получится как то так:
$mytext = $blabla->blabla(С:\mutextfile.txt чтобы можно было вставлять $mytext в нужное место, и тоже самое нужно сделать для всего текста в файле, в данном случае текст не должен из файла удаляться
Помогите плииииз rolleyes.gif честно гуглил, то что находил пытался применить методом научного тыка - не помогло.
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 17423
Пользователь №: 6543
На форуме: 16 лет, 8 месяцев, 2 дня
Карма: 327

Трезвый :
14 лет, 5 месяцев, 12 дней


file() - читаем файл в массив, array_shift() вытаскиваем из него первый элемент, implode() - собираем массив в строку через \n, file_put_contents() - безопасно записываем обратно в файл. Последняя функция для PHP не ниже 5-й версии.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kira  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









$mytxt = file('mufile.txt'); //читаем файл в массив

$mytx = array_shift($mytxt) //вытаскиваем из него первый элемент

$implode("\n", $mytx) //собираем массив в строку через \n

$file_put_contents('mufile.txt') //безопасно записываем обратно в файл


что-то опять неправильно делаю, синтаксиса не знаю.. в чем ошибка?
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Raito-kun  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



gothic power
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 288
Пользователь №: 18214
На форуме: 15 лет, 11 месяцев, 7 дней
Карма: 10




это код? как насчет точки с запятой после каждой строки?)
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kira  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









поставил точки с запятой, фигурные скобки - начала вставляться одна первая строка $mytx! Спасибо, хоть что-то заработало. Но из файла эта строка не удалилась. В чем осталась ошибка


PHP
{

$mytxt file('mufile.txt'); //читаем файл в массив

$mytx array_shift($mytxt); //вытаскиваем из него первый элемент

implode("\n"$mytx); //собираем массив в строку через \n

file_put_contents('mufile.txt'); //безопасно записываем обратно в файл

}

    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Raito-kun  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



gothic power
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 288
Пользователь №: 18214
На форуме: 15 лет, 11 месяцев, 7 дней
Карма: 10




PHP
<?php
        $mytxt 
file('test.txt'); //читаем файл в массив

        
$mytx array_shift($mytxt); //вытаскиваем из него первый элемент

        
implode("\n"$mytxt); //собираем массив в строку через \n

        
file_put_contents('test.txt'$mytxt); //безопасно записываем обратно в файл


PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kira  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Спасибо!!! Получилось biggrin.gif Хотя это называется разжевали и в рот положили.

Еще вопрос cool.gif как проделать тоже самое только не для одной строки а для n строк?

ЗЫ посоветуйте мануал по пхп, те что в сети находил слишком унылы, с такими примерами, которые на практике мне никогда не пригодятся.
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 17423
Пользователь №: 6543
На форуме: 16 лет, 8 месяцев, 2 дня
Карма: 327

Трезвый :
14 лет, 5 месяцев, 12 дней


Функция array_shift() вытаскивает первый элемент. Значит надо применить её n раз и всё.
А мануал не мануал, но кое что почитать можно тут. По крайней мере я отвечу на вопросы. (здесь отвечу)


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
КRiCo  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Цитата (twin @ 7.08.2009 - 04:27)
Функция array_shift() вытаскивает первый элемент. Значит надо применить её n раз и всё.
А мануал не мануал, но кое что почитать можно тут. По крайней мере я отвечу на вопросы. (здесь отвечу)

а можно вопрос...
а как прочитать какую либо строку из файла зная только определённые символы которые хранятся в етой строке...заранее спрасибо!
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
FatCat  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



חשב את עצמו
******

Профиль
Журнал
Группа: Администратор
Почтальон группы
Сообщений: 6974
Пользователь №: 1
На форуме: 19 лет, 3 месяца, 26 дней
Карма: 145




Цитата (КRiCo @ 21.09.2009 - 13:45)
как прочитать какую либо строку из файла зная только определённые символы которые хранятся в етой строке...

Проверкой по массиву.
PHP
$finded = array(); // Массив для найденных строк
$mytxt = file('mufile.txt');
foreach(
$mytxt as $stroka)
{
    if( stristr($stroka, $searched) // если строка содержит искомое
        
$finded[] = $stroka// добавляем строку в массив найденных
}
echo "<p>".implode("</p><p>",$finded)."</p>";


--------------------
Бесплатному сыру в дырки не заглядывают...
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Гость_Николай  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Цитата (FatCat @ 21.09.2009 - 13:54)
Цитата (КRiCo @ 21.09.2009 - 13:45)
как прочитать какую либо строку из файла зная только определённые символы которые хранятся в етой строке...

Проверкой по массиву.
$finded = array(); // Массив для найденных строк
$mytxt = file('mufile.txt');
foreach($mytxt as $stroka)
{
    if( stristr($stroka, $searched) ) // если строка содержит искомое
        $finded[] = $stroka; // добавляем строку в массив найденных
}
echo "<p>".implode("</p><p>",$finded)."</p>";

а если нужно несколько строк найти
$searched и
$searched_2 как быть в этом случае?
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 6470
Пользователь №: 35718
На форуме: 12 лет, 6 месяцев, 16 дней
Карма: 208




Гость_Николай, используйте базу данных, там все гораздо проще


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса