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

Форум PHP

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

 

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

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

тема: file_get_contents с @ и без
 
 автор: Ralph   (30.03.2008 в 20:31)   письмо автору
 
 

Добрый день.Имеется такой код:

<?php
ini_set
('display_errors','on');
error_reporting(E_ALL);
//здесь разный код,никаких ob_ и изменений уровня вывода ошибок
$txt='a,имяфайла1,имяфайла2,...,имяфайла18,';
$a=strtok($txt,',');
for(
$i=0;$i<18;$i++)
$a=strtok(',');
$module=@file_get_contents($a.'.php');
echo 
'Module = '.$a.'<br/>';
//здесь опять разный код
die('End of index.php');
?>

   
 
 автор: Ralph   (30.03.2008 в 20:33)   письмо автору
 
   для: Ralph   (30.03.2008 в 20:31)
 

половины файлов из списка в переменной $txt еще не существует.Код отрабатывается полностью,но когда убираю собаку,код отрабатывается примерно до 7-го имени файла,после чего весь остальной код пропускается,выполняется лишь die.Кто подскажет,в каком направлении искать ошибку ? (к логам доступа не имею)

   
 
 автор: KirillKiev   (30.03.2008 в 21:27)   письмо автору
 
   для: Ralph   (30.03.2008 в 20:33)
 

Ну уберите собаку и проверяйте наличий файла
типа

if( file_exists ( $a.'.php' ) )
      {
$module=@file_get_contents($a.'.php');
echo 'Module = '.$a.'<br/>'; 
      }

хотя я бы делал так

$txt='a,имяфайла1,имяфайла2,...,имяфайла18,'; 
$a = explode( ",",$txt );
for( $i = 0; $i < count( $a ); $i++ )
{
if( file_exists ( $a[i].'.php' ) )
      {
$module=file_get_contents($a[i].'.php');
echo 'Module = '.$a.'<br/>'; 
      }
}

   
 
 автор: Ralph   (30.03.2008 в 22:44)   письмо автору
 
   для: KirillKiev   (30.03.2008 в 21:27)
 

В принципе,сам этот код мне не нужен,это так,временная затычка чтения из БД,меня интересует именно влияние собак на исполнение ДАЛЬНЕЙШЕГО кода.К примеру,без собак доходит с warning'ами и echo до 7-го файла,выдает ожидаемый Warning... ,echo УЖЕ не отрабатывает,как и все остальные инструкции вплоть до die,а вот die срабатывает и выдает свое сообщение.Если max_execution_time,то почему не выдается ошибка и последний die все же работает ?

   
 
 автор: KirillKiev   (31.03.2008 в 00:59)   письмо автору
 
   для: Ralph   (30.03.2008 в 22:44)
 

не знаю почему у вас так - вклепал ваш код нагло просто в файл, убрал собаку, запустил - как естественное следствие вылезло 18 варлингов вида
Warning: file_get_contents(.php)
и потом
End of index.php

   
Rambler's Top100
вверх

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