Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: запись в файл...

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
MBmusic
Отправлено: 13 Августа, 2013 - 15:27:20
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




в общем странная вещь поучаеться......допустим есть простенький метод:

PHP:
скопировать код в буфер обмена
  1.  
  2. public function sitemap()
  3.         {
  4.                 $result = 'Текст в файл';
  5.                 return $result;
  6.         }
  7. }
  8.  


и теперь то что возвращает метод нужно записать в файл, делай так:

PHP:
скопировать код в буфер обмена
  1.  
  2. $fp = fopen("sitemaps/sitemap_u.xml", "w+");
  3. $xml = $this->view->sitemap();
  4. fwrite($fp,     $xml); // Запись в файл
  5. fclose($fp); //Закрытие файла
  6.  


но оно почему то не пишет в файл......а вот если в функция подставлять не вызов метода а сам текст, вот так: fwrite($fp, "Текст в файл"); то тогда без проблем запишет......в чем прикол?
 
 Top
IllusionMH
Отправлено: 13 Августа, 2013 - 15:30:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




MBmusic, а если, для начала, перед выводом в файл сделать var_dump($xml); ?
 
 Top
MBmusic
Отправлено: 13 Августа, 2013 - 15:31:41
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




уже работает, но есть еще вопросик......как в цикле мне каждый раз дописывать эту строку в файл......щас оно перезаписывает каждый раз по новому......а мне нужно дописывать
 
 Top
armancho7777777 Супермодератор
Отправлено: 13 Августа, 2013 - 15:36:34
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




 
 Top
MBmusic
Отправлено: 13 Августа, 2013 - 15:38:10
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




а перенос каждой следующей записи на новую строку как замутить? делаю так но не помогает $fp = fopen("sitemaps/sitemap_u.xml", "a+", '\n');
 
 Top
armancho7777777 Супермодератор
Отправлено: 13 Августа, 2013 - 15:39:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)






PHP:
скопировать код в буфер обмена
  1.  
  2. $fp = fopen("sitemaps/sitemap_u.xml", "a+");
  3. $xml = $this->view->sitemap();
  4. fwrite($fp, PHP_EOL . $xml);
  5. fclose($fp);
  6.  

(Отредактировано автором: 13 Августа, 2013 - 15:41:35)

 
 Top
Panoptik
Отправлено: 13 Августа, 2013 - 15:40:43
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




PHP_EOL добавляйте в конец строки


-----
Just do it
 
 Top
armancho7777777 Супермодератор
Отправлено: 13 Августа, 2013 - 15:40:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




---

(Отредактировано автором: 13 Августа, 2013 - 15:41:18)

 
 Top
MBmusic
Отправлено: 13 Августа, 2013 - 15:42:20
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




спасибо!!!
(Добавление)
оо, а еще маленький вопросик......допустим в файле у меня 4 строки есть...
1
2
3
4

как мне записать что то между 3 и 4 строкой, что бы было так:
1
2
3
текст
4
 
 Top
Мелкий Супермодератор
Отправлено: 13 Августа, 2013 - 16:08:37
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Прочитать 4 и все последующие строку, записать с позиции начала 4 строки новую строку, дописать в файл всё прочитанное ранее.
Ну или загрузить весь файл в памяти, разбить по строкам, в полученном массиве вставить элемент, записать обратно.


-----
PostgreSQL DBA
 
 Top
MBmusic
Отправлено: 13 Августа, 2013 - 16:29:35
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




а как мне прочитать мою последнюю стоку в файле, пишу так но не работает:

PHP:
скопировать код в буфер обмена
  1.  
  2.                 $lines = file("sitemaps/sitemap_u.xml");
  3.                 echo $lines[count($lines)-1];
  4.  


хочу заметить что я работаю с xml файлом...
 
 Top
Panoptik
Отправлено: 13 Августа, 2013 - 16:31:55
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




может у вас последня строка пустая. сделайте var_dump($lines) чтобы убедиться в этом


-----
Just do it
 
 Top
MBmusic
Отправлено: 13 Августа, 2013 - 16:36:02
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




вар дамп вернул array(3) { [0]=> string(40) " " [1]=> string(68) " " [2]=> string(17) " " }
 
 Top
armancho7777777 Супермодератор
Отправлено: 13 Августа, 2013 - 16:36:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




MBmusic, вообще-то существуют инструменты для работы с xml.

(Отредактировано автором: 13 Августа, 2013 - 16:37:15)

 
 Top
MBmusic
Отправлено: 13 Августа, 2013 - 16:38:06
Post Id


Посетитель


Покинул форум
Сообщений всего: 481
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




ну мне нужно с xml работать так как с тхт
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB