2013-09-13 3 views
0
<?php 
$myFile = "file.txt"; 
$fh = fopen($myFile, 'r'); 
$theData = fread($fh, filesize($myFile)); 
print_r ($theData); 
fclose($fh) 
?> 

Это мой текущий код, который успешно прочитал мой файл и распечатал данные на экране. Однако теперь, когда я пытаюсь взорвать данные, я получаю только небольшую ошибку, и страница вообще не загружается, единственное сообщение об ошибке, которое я получаю, - page may be down for maintenance or configured incorrectly, и я не понимаю, почему он не работает.Explode() предоставляет ошибку сервера, страница не может быть загружена

Я пытаюсь поставить

$my_array = explode("/n", $theData); 

после того, как данные были считаны, и перед печатью, но каждый раз, когда я добавляю его страница дает, но когда я беру его загрузку страницы снова хорошо. Мне нужно, чтобы вставить цикл foreach, чтобы взорвать данные и распечатать их по одной строке за раз (это каталог электронной почты), но я не понимаю, почему он не работает.

$myFile = "file.txt"; 
$fh = fopen($myFile, 'r'); 
$theData = fread($fh, filesize($myFile)); 
$assoc_array = array() 
$my_array = explode("\n", $theData); 
foreach($my_array as $line) 
{ 
    $tmp = explode(" ", $line); 
    $assoc_array[$tmp[0]] = $tmp[1]; 
} 
fclose($fh) 
$mail = $assoc_array; 

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

Может кто-нибудь объяснить, где я иду не так?


В конце кода я использовал это:

<?php 

// Open the file 
$filename = 'pvemail.txt'; 
$fp = fopen($filename, 'r'); 

// Add each line to an array 
if ($fp) { 
    $array = explode("\n", fread($fp, filesize($filename))); 
} 
print_r ($array); 
?> 

мне удалось прочитать данные и распечатать каждую строку из в массив, теперь все, что мне нужно сделать, это сделать это выглядит красиво! Большое спасибо за помощь ребятам!

+1

Проверьте свои журналы ошибок! Там где-то будет подробная и полезная ошибка. – deceze

+0

вы можете поместить строку с ошибкой –

+0

Ошибка сервера Обновить меньше На веб-сайте произошла ошибка при получении http: //eu12.euro.pec/~jlwx322/fread.php. Он может быть отключен для обслуживания или настроен неправильно. Код ошибки: 500 –

ответ

0

Первоначальные проблемы

Похоже, у вас есть несколько пропавших без вести с запятой, если вы не ввели код ссылки вручную и ваш фактический код правильный.

fclose($fh)


смещения 1 не существует

$tmp[1] не существует, что означает, что некоторые $tmp либо не имели значения или только одно значение. Скорее всего, одна из строк - это одно слово без пробела или полностью пустое.

+0

Хорошо, я включил отчет об ошибках и исправил ошибки синтаксиса, и теперь я получаю Уведомление: Неопределенное смещение: 1 в /home/jlwx322/public_html/fread.php в строке 14 Примечание: Неопределенное смещение: 1 в/home/jlwx322/public_html/fread.php в строке 14 в отношении $ assoc_array [$ tmp [0]] = $ tmp [1]; –

+0

Это означает, что '$ tmp [1]' не существует. –

+0

Еогеасп ($ my_array в $ линии) \t \t { \t \t \t $ TMP = взорваться (»», $ линия); \t \t \t $ assoc_array [$ tmp [0]] = $ tmp [1]; \t \t} Это мой цикл foreach, где переменная $ tmp есть, является ли ошибка в синтаксисе? Извините, что это глупый вопрос. Я полный новичок. –

Смежные вопросы