Как мне устранить разрыв строки из функции fgets в PHP?

Я пытаюсь создать галерею, которая вызывает имена изображений из базы данных плоских файлов, используя функцию PHP 'fgets'. В галерее есть различные разделы, в каждом из которых есть своя собственная картинка по умолчанию, и небольшой список изображений, из которого пользователи могут выбрать. Все работает отлично, за исключением одной кнопки.

У меня есть одна кнопка на странице, которая должна сбросить все галереи на их изображения по умолчанию с помощью Javascript OnClick. Она работает именно так, как я хочу, с одной маленькой зацепкой: Он копирует разрыв строки в конце строки все вместе с символами на строке, разбивая Javascript.

Ошибочный код:

function back(){
document.getElementById('back').className='back';
document.getElementById('one').className='cellcont';

//This should output the proper javascript, but does not
<?php
$a = fopen('c.txt','r');
if (!$a) {echo 'ERROR: Unable to open file.'; exit;}
$b = fgets($a);
echo "document.getElementById('i1').src='$b';";
fclose($a);
?>

}

Как он выводит:

function back(){
document.getElementById('back').className='back';
document.getElementById('one').className='cellcont';
document.getElementById('i1').src='00.jpg
';}

Как видите, метка окончания кавычки и полустолбцы падают на следующую строку, и это разбивает кнопку.

С файлами, которые я использую сейчас, я могу обойти эту проблему, изменив "fgets($a)" на "fgets($a, 7)", но мне нужно, чтобы он захватил всю строку, чтобы, если клиент решит ввести файл с более длинным именем, он не разбил галерею на них.

11
задан Shreger 19 September 2011 в 22:57
поделиться