Visualizzazione risultati 1 fino 6 di 6

Discussione: chi mi spiega questo script?

  1. #1
    Guest

    Predefinito chi mi spiega questo script?

    ciao a tutti

    è un po' che modifico questo script per raccogliere le immagini ma ora vi chiedo aiuto per capirlo


    Ho cercato nella guida php ma nn ho trovato tutto ad esempio la funzione FetchPage o la riga d$img_tag_array = $out[0];

    lo script è questo
    Codice PHP:
    function FetchPage($path)
    {
    **
    $file = fopen($path, "r");
    **if (!
    $file)
    **{
    ****exit(
    "Impossibile accedere al file!!!");
    **}
    **
    $data = '';
    **while (!
    feof($file))
    **{
    ****
    $data .= fgets($file, 1024);
    **}
    **return
    $data;
    }

    // pagina da cui estrarre le immagini
    $url = $url[$i];
    *
    // estraggo il contenuto HTML della pagina
    $string = FetchPage($url);
    *
    // estraggo i tag d'immagine
    preg_match_all('/<img[^>]*src=[\"|\'](.*)[\"|\']/Ui', $string, $out);
    *
    // creo due array...
    // la prima contenente i tag delle immagini
    // la seconda contenente le URL delle immagini
    $img_tag_array = $out[0]; <------------------ ma del vettore out prende solo la riga 0??
    $img_url_array = $out[1];
    *
    // stampo a video il contenuto delle due array
    echo "<pre>"; print_r($img_tag_array); echo "</pre>";
    echo
    "<pre>"; print_r($img_url_array); echo "</pre>";
    }

    grazie del supporto

  2. #2
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    • La funzione FetchPage() è quella che dichiari all'inizio, e che richiami alla riga 20.
    • $out è un'array che contiene 2 array che a loro volta contengono le immagini.

    Codice:
    (
        [0] => Array
            (
                [0] => <img src="percorso_img1"
                [1] => <img src="percorso_img2"
            )
    
        [1] => Array
            (
                [0] => percorso_img1
                [1] => percorso_img2
            )
    
    )
    Il codice che ti ho postato è $out, quindi scrivendo $out[0] selezioni i due <img, mentre scrivendo $out[1] selezioni i due percorsi delle immagini.
    Lo script ti stampa tra i primi tag <pre> e </pre> le immagini, mentre tra i secondi i percorsi delle immagini.

  3. #3
    Guest

    Predefinito

    Grazie mille

    potresti illuminarmi pure su questo
    Codice PHP:
    $file = fopen($path, "r");
    non ho capito cosa apre e perchè

    Questa parte qui


    Codice PHP:

    {
    **
    $file = fopen($path, "r");
    **if (!
    $file)
    **{
    ****exit(
    "Impossibile accedere al file!!!");
    **}
    **
    $data = '';
    **while (!
    feof($file))
    **{
    ****
    $data .= fgets($file, 1024);
    **}
    **return
    $data;
    }

    cosa fà?
    Ultima modifica di alemoppo : 22-01-2014 alle ore 21.04.19 Motivo: - trattini +tag [php]

  4. #4
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,247

    Predefinito

    fopen(); feof(); fgets().

    Quindi, apre il file e, finché non arriva alla fine, legge ogni riga del file e lo aggiunge alla variabile $data. Quindi ritorna $data.
    Diciamo che tutto quel codice si sarebbe potuto fare semplicemente con la file_get_contents().

    Ciao!

  5. #5
    Guest

    Predefinito

    Ok grazie, ma allora $file = fopen($path, "r"); cosa apre?

  6. #6
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,247

    Predefinito

    Citazione Originalmente inviato da teodolinda Visualizza messaggio
    Ok grazie, ma allora $file = fopen($path, "r"); cosa apre?
    Apre un riferimento al file. Poi puoi leggerlo, puoi scriverlo, etc (ovviamente con i giusti parametri nella fopen(): con "r" puoi solo leggerlo).

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •