Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271

    problema con explode e file_get_contents

    allora, il seguente pezzo di codice dovrebbe, ricevuto in ingresso una stringa contenente diversi url separati dal carattere 'vai a capo', estrarre per ognuno il titolo, salvarlo in una variabile e stamparlo a video... però non so perchè il seguente codice, con un solo url funziona, con 2 o più mi da errore... sulla linea con file_get_contents e mi restituisce solo il titolo dell'ultimo url...

    codice:
    <?php
      if(!empty($_POST)){
        $urls = explode("\n",$_POST['urls']);
        foreach($urls as $url){
          $file = file_get_contents($url);
    
          preg_match('/<meta name="title" content="([^"]+)">/',$file,$found);
          $title = $found[1];
    
          echo "Downloading " . $title . "... 
    ";      
    
        }
      }
    ?>

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271
    Warning: file_get_contents(indirizzo_del_file ) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in /home/test/public_html/test.php on line 5

    quindi l'errore è sulla linea: $file = file_get_contents($url);

  4. #4
    L'errore è nell'URL. Ad una richiesta HTTP per quell'URL il web server restituisce un errore 400 Bad Request. Controlla che l'url sia corretto. Se pensi che lo sia, posta qui il risultato di questo codice:

    Codice PHP:
    var_dump($url); 

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271
    si gli url sono corretti, se li metto uno alla volta li prende, se ne metto più insieme prende solo l'ultimo... infatti anche se metto lo stesso link più volte, prende solo l'ultimo...

    usando il comando che hai detto tu mi restituisce una cosa del tipo (inserendo la stessa stringa 2 volte):

    string(24) "http://www.indirizzo.com "
    string(24) "http://www.indirizzo.com"

    così il problema è chiaro... per tutte le stringe diverse dall'ultima, c'è un carattere (vuoto) di troppo... come posso ovviare a questo?

  6. #6

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    271
    bene risolto... grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.