Próbuję utworzyć galerię, która wywołuje nazwy obrazów z płaskiej bazy danych plików przy użyciu funkcji PHP "fgets". W galerii znajdują się różne sekcje, każda z własnym domyślnym obrazem oraz niewielka lista obrazów, które użytkownicy mogą wybierać. Wszystko działa dobrze, z wyjątkiem jednego przycisku.Jak wyeliminować podział wiersza z funkcji fgets w PHP?
Mam jeden przycisk na stronie, który ma zresetować wszystkie galerie do ich domyślnych obrazów przy użyciu Javascript OnClick. Działa dokładnie tak, jak chcę, z jednym małym zaczepem: kopiuje przerwę linii na końcu linii wraz ze znakami na linii, łamiąc JavaScript.
Kod wykraczająca:
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);
?>
}
Jak wyprowadza:
function back(){
document.getElementById('back').className='back';
document.getElementById('one').className='cellcont';
document.getElementById('i1').src='00.jpg
';}
Jak widać, kończący znak cudzysłowu i średnik przypada w następnym wierszu, a to łamie przycisk.
Z plikami, których teraz używam, mogę obejść ten problem, zmieniając "fgets ($ a)" na "fgets ($ a, 7)", ale potrzebuję go pobrać całą linię tak, że jeśli klient zdecyduje się na wprowadzenie pliku o dłuższej nazwie, nie spowoduje to zerwania galerii na nich.
Ponieważ jest to ciąg, jesteś po prostu staramy się usunąć spacje (linebreak) znaków w ciąg. Miałem tu na myśli wiele odpowiedzi. –