Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Пустые строки в файле мешают работе с ним
 
 автор: Богданн   (09.05.2011 в 18:24)   письмо автору
 
 

Народ, такая проблема, есть форма заказа, куда инофрмация летит в обработчик processor.php,
там она при помощи функции fwrite()записываеться в файл, потом мне надо вытащит строку которая записалаяь в этот файл другой функцией file(), соответсвенно впехнувши ее в массив.
В текстовом файле строка записываеться почемуто не с первой строчки а где попало, поэтому индекс массива начинаеться не с 0 для функции file() .На денвере раньше работало, а щас вручную собрал, почемуто не пашет, хелп плз.
код из формы заказа;

<? $server=$_SERVER[DOCUMENT_ROOT];
$list="$date "." |$pokrishki -"."Автопокрышек"
  
."| $oil"." - Масло"
  
."| $candels"." - Свечи"
  
."| Итоговая цена - \$$totalprice"
  
."| Адресс - $address\n";

@
$fp=fopen("$server/orders/bogdan.txt","ab");
if (
$fp==false)
{
echo 
"<br>Ваш запрос не может быть обработан";
exit;
}
fwrite($fp,$list,strlen($list));
fclose($fp)
?>

А это код, который вытягивает из файла информацию

<?
$docrut
=$_SERVER['DOCUMENT_ROOT'];
$list=file ("$docrut/orders/bogdan.txt");
echo 
$list['0']; <=Не выводиться


?>

  Ответить  
 
 автор: cheops   (09.05.2011 в 18:41)   письмо автору
 
   для: Богданн   (09.05.2011 в 18:24)
 

Пока не очень понятно. Если вывести дамп массива $list, что выводится?
<?php
  
echo "<pre>";
  
print_r($list);
  echo 
"</pre>";
?>

PS Если не сложно, прикрепите файл bogdan.txt, чтобы можно было воспроизвести ситуацию.

  Ответить  
 
 автор: Богданн   (09.05.2011 в 18:52)   письмо автору
371 байт
 
   для: cheops   (09.05.2011 в 18:41)
 

Дамп массива

Array
(
    [0] => 

    [1] => 17,May,2011  |23 -Автопокрышек| 23 - Масло| 43 - Свечи| Итоговая цена - $2702| Адресс - 34

    [2] => 

    [3] => 

    [4] => 17,May,2011  |23 -Автопокрышек| 23 - Масло| 43 - Свечи| Итоговая цена - $2702| Адресс - 34

    [5] => 17,May,2011  |23 -Автопокрышек| 23 - Масло| 43 - Свечи| Итоговая цена - $2702| Адресс - 34

    [6] => 17,May,2011  |23 -Автопокрышек| 23 - Масло| 43 - Свечи| Итоговая цена - $2702| Адресс - 34

)


значения одинаковы везде, но это не важно.
И еще выяснилось, что оно сохраняет строку там где установлен курсор в начале строки перед сохранением файла.
P.S как настроить так, что бы как на денвере показывало где ошибки исправлять, ато здесь когда синтакс эрор оно просто пишет невозможно отобразить страницу??

  Ответить  
 
 автор: cheops   (09.05.2011 в 19:37)   письмо автору
 
   для: Богданн   (09.05.2011 в 18:52)
 

>P.S как настроить так, что бы как на денвере показывало где ошибки исправлять, ато здесь когда
>синтакс эрор оно просто пишет невозможно отобразить страницу??
В .htaccess необходимо добавить
php_flag display_errors on

PS Новые вопросы лучше в виде отдельных тем формировать.

  Ответить  
 
 автор: cheops   (09.05.2011 в 19:38)   письмо автору
 
   для: Богданн   (09.05.2011 в 18:52)
 

>И еще выяснилось, что оно сохраняет строку там где установлен курсор в начале строки перед
>сохранением файла.
1) Кто он?
2) Как надо?

  Ответить  
 
 автор: cheops   (09.05.2011 в 19:40)   письмо автору
 
   для: Богданн   (09.05.2011 в 18:52)
 

А откуда эти пустые строки берутся? Может где-то ошибка или это штатное поведение системы? В последнем случае можно пройтись по массиву циклом и сформировать новый массив, состоящий только из непустых строк файла.

  Ответить  
 
 автор: Богданн   (09.05.2011 в 20:15)   письмо автору
 
   для: cheops   (09.05.2011 в 19:40)
 

В этом и проблема, я не знаю почему функция fwrite() записывает в текстовый файл строку не с начала.

  Ответить  
 
 автор: Красная_шляпа   (09.05.2011 в 19:55)   письмо автору
 
   для: Богданн   (09.05.2011 в 18:52)
 

$list = file ("$docrut/orders/bogdan.txt", FILE_IGNORE_EMPTY_LINES);

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования