[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: file и count
Евгений Щукин
Добрый день!
Хочу вывести информацию из файла заказов. Получаю на выходе только "Вывод заказа через функции file и count". Адрес файла записан верно - работает в другой сортировке. Что виновато и где править?
Спасибо!


echo "<br> <b>Вывод заказа через функции file и count </b>" ;
$spisok_zakazov = file ( "DOCUMENT_ROOT/../vse_zakazy/vse_zakazy/zakazy.txt" ) ;
$nomer_elementa = count ($spisok_zakazov) ; //считает количество элементов в массиве
if ($nomer_elementa = 0)
{
echo "<p>Заказов сейчас нет. Пожалуйста, попробуйте позже</strong></p>" ;
}
for ($i=0; $i<$nomer_elementa; $i++)
{
echo $spisok_zakazov [$i] . "<br>" ;
}
Игорь_Vasinsky
Цитата
$spisok_zakazov = file ( "DOCUMENT_ROOT/../vse_zakazy/vse_zakazy/zakazy.txt" ) ;


Будет тебе подсказка
сделай после <?php

ini_set("display_errors",1);
error_reporting(-1);


За одно, если DOCUMENT_ROOT это попытка указать корневую директорию, почитай как использовать суперглобальный массив $_SERVER
https://php.net/manual/ru/reserved.variables.server.php

так же можешь сам проверить наличие файла перед использованием своего кода

if(file_exists( "DOCUMENT_ROOT/../vse_zakazy/vse_zakazy/zakazy.txt" ) {
echo 'Файл найден';
}
else{
echo 'GO TO THIS LINK : https://php.net/manual/ru/reserved.variables.server.php';
}


когда правильно укажешь путь к файлу то цикл for можешь заменить на foreach (и отказаться от count() )

$file = file(/path/to/file);

foreach($file as $order){
echo 'Заказ №'.$order.'<br/>';
}


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Евгений Щукин
адрес правильный. он работает в другой сортировке.
Я добавил в скрипт указанный код. В третьей строке (где стоит фигурная скобка) получаю ошибку.
echo "<br> <b>Вывод заказа через функции file и count </b>" ;
if(file_exists( $_SERVER['DOCUMENT_ROOT'].'/vse_zakazy/vse_zakazy/zakazy.txt')
{
echo 'Файл найден';
}
else
{
echo 'GO TO THIS LINK : https://php.net/manual/ru/reserved.variables.server.php';
}


Стираю строки с ошибкой и получаю http://tomson.zz.mu/vieworders.php
На всякий случай привожу код полностью. Все, что выше проблемного места, работает.
<?php 	
ini_set("display_errors",1);
error_reporting(-1);

error_reporting( E_ALL & E_STRICT );

//подарок от пользователья McLotos
$file = $_SERVER['DOCUMENT_ROOT'].'/vse_zakazy/vse_zakazy/zakazy.txt';
if(!file_exists($file))
{echo 'Файла не существует';}
else
{$file = file($file);
//а дальше - что больше нравится
foreach($file as $string)
{echo $string."<br>"; }
//или
for($i=0;$i<count($file);$i++)
{echo $file[$i]."<br>"; }
}


//Код от Томсон
echo "<br> <b> Код от Томсон </b> </br>" ;
$fp = fopen ( "DOCUMENT_ROOT/../vse_zakazy/vse_zakazy/zakazy.txt", "r" );

if ( !$fp )
{
echo "<p><strong><b>Файл с информацией не найден. Пожалуйста, повторите попытку позже.</b></strong></p></body></html>";
exit;
}

while (!feof ( $fp )) //feof определяет конец файла
{
/* fget - файл читаем построчно. 100 - макс количество байт. Похожая функция fgetss() тоже читает построчно, но удаляет при чтении чужой php- и html-код и поэтому повышает безопасность*/
$zapisat_v_file = fgets ( $fp, 100);
echo $zapisat_v_file."<br>";
}
fclose( $fp );


echo "<br> <b>Вывод заказа через функции file и count </b>" ;
if(file_exists( $_SERVER['DOCUMENT_ROOT'].'/vse_zakazy/vse_zakazy/zakazy.txt')
{
echo 'Файл найден';
}
else
{
echo 'GO TO THIS LINK : https://php.net/manual/ru/reserved.variables.server.php';
}
$spisok_zakazov = file ( $_SERVER['DOCUMENT_ROOT'].'/vse_zakazy/vse_zakazy/zakazy.txt' ) ;
$nomer_elementa = count ($spisok_zakazov) ; //считает количество элементов в массиве
if ($nomer_elementa = 0)
{
echo "<p>Заказов сейчас нет. Пожалуйста, попробуйте позже</strong></p>" ;
}
for ($i=0; $i<$nomer_elementa; $i++)
{
echo $spisok_zakazov [$i] . "<br>" ;
}

//Другой способ вывода информации из файла. Функция fread читает весь файл, а не строку
echo "<br>Использование функции fread не получилось<br>";

?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.