Sto tentando di fare una galleria che chiama i nomi delle immagini da un database di file flat utilizzando la funzione PHP 'fgets. Ci sono diverse sezioni nella galleria, ognuna con la sua immagine predefinita e una piccola lista di immagini che gli utenti possono selezionare. Tutto funziona bene, ad eccezione di un pulsante.Come si elimina l'interruzione di riga dalla funzione fgets in PHP?
Ho un pulsante nella pagina che dovrebbe ripristinare tutte le gallerie per le loro immagini predefinite utilizzando Javascript Su clic. Funziona esattamente come voglio che, con un piccolo intoppo: Si copia l'interruzione di riga alla fine della linea allong con i personaggi sulla linea, rompendo il Javascript.
Il codice incriminato:
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);
?>
}
Come uscite:
function back(){
document.getElementById('back').className='back';
document.getElementById('one').className='cellcont';
document.getElementById('i1').src='00.jpg
';}
Come si può vedere, la virgoletta fine e il punto e virgola cade sulla riga successiva, e questo rompe il pulsante.
Con i file che sto usando ora, posso aggirare questo problema cambiando, "fgets ($ a)" a, "fgets ($ a, 7)" ma ho bisogno di averlo afferrare l'intera linea in modo tale che se il cliente decide di inserire un file con un nome più lungo, non interrompe la galleria su di essi.
Dal momento che è una stringa, si sta solo cercando di rimuovere gli spazi bianchi (interruzione di riga) caratteri di una stringa. Molte risposte qui intorno per quello, immagino. –