Ciao Goku
Se in ogni caso devi leggere tutte le righe del tuo file di testo, personalmente ti consiglio la funzione
file che funziona singolarmente e, come da guida php.net, restituisce i contenuti del file in un array, nel quale ogni elemento è una riga di tale file. E qui viene il bello: negli argomenti della funzione è possibile specificare un paio di flag utili, ovvero
FILE_IGNORE_NEW_LINES e
FILE_SKIP_EMPTY_LINES; il primo elimina direttamente alla lettura i caratteri di file linea (\n, \r o qualsiasi loro combinazione che sia) mentre il secondo fa in modo che non vengano restituite le linee vuote. Ecco un esempio:
links.txt
http://www.iprogrammatori.it/forum-programmazione
http://www.google.com
http://php.net
script.php
$file_array = file( "links.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES );
foreach( $file_array as $line ) {
// QUI LO SCRIPT CHE USA IL LINK
}
Se poi facessimo un print_r della variabile creata, ecco che avremmo:
print_r( $file_array );
Array (
[0] => http://www.iprogrammatori.it/forum-programmazione,
[1] => http://www.google.com,
[2] => http://php.net
)
Seinvece vuoi continuare ad usare il tuo metodo, ti consiglio all'interno del loop la funzione TRIM sulla riga corrente, che non serve ad altro se non ripulire una stringa dagli spazi in eccesso all'inizio e alla fine, in questo modo elimineresti i caratteri di fine linea dalle righe in questione:
while( ( $line = fgets( $handle ) ) !== false ) {
$line = trim( $line );
// ... QUI IL RESTO
}
____________________________________________
Link alla reference guide:
funzione FILE
funzione TRIM
funzione FGETS
Buon lavoro!