Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    problemi di memoria su recupero valori da ciclo for

    Ciao a tutti,

    vi spiego il problema.. sto creando uno script che, tramite invio richiesta POST, restituisca tutti i link delle immagini presenti nell'url inviato, per farlo sto utilizzando un parser dal quale non ho problemi.. il problema si presenta leggendo l'array che ho creato contenente tutti i link recuperati.

    Posto un po' di codice per farvi capire.

    codice:
    $url_page = $_POST['pageUrl'];
    
    //file_get_html è la funzione del parser la quale recupera tutto l'html della pagina
    $html = file_get_html($url_page);
    
    //$html->find('img') trova solo il contenuto dei tag img relativi alle immagini
    //ogni link trovato viene inserito nell array $allImg
    foreach($html->find('img') as $element){
           $allImg[]['img'] = $element->src; //genera un array contenente i link alle immagini
    }
            //conta il numero di elementi presenti nell'array
    	$occurr = count($allImg);
    	
    	
    	for($i=0;i<$occurr;$i++){
    		$img[$i] = $allImg[$i]['img'];
    		echo $img[$i];
    	}
    per miglior comprensione posto anche print_r dell'array $allImg generato (i link che vedete sono il risultato parziale della ricerca delle immagini su questo sito "http://www.html.it")

    codice:
    Array ( [0] => Array ( [img] => /common/img/html-logo.png ) [1] => Array ( [img] => /common/img/social-icons/facebook.gif ) [2] => Array ( [img] => /common/img/social-icons/rss.gif ) [3] => Array ( [img] => http://utenti.html.it/tmp_img/artico...c2076d3119.gif ) [4] => Array ( [img] => http://download.html.it/img/software...a11b91f31c.png ) [5] => Array ( [img] => http://utenti.html.it/tmp_img/artico...87751099fe.png ) [6] => Array ( [img] => http://utenti.html.it/tmp_img/artico...1ca347406b.png )... ecc... ecc....
    quando eseguo lo script il ciclo for mi stampa correttamente i singoli valori.. (li stampo solo per vedere il risultato, in realtà dovrei poi prendere tali valori e inserirli in tag xml per l'utilizzo ajax).
    codice:
    /common/img/html-logo.png/common/img/social-icons/facebook.gif/common/img/social-icons/rss.gifhttp://utenti.html.it/tmp_img/articolo_75x75_6c71b6c2076d3119.gifhttp://download.html.it/img/software/art_50x50_27ded7a11b91f31c.pnghttp://utenti.html.it/tmp_img/articolo_50x50_5194b687751099fe.pnghttp://utenti.html.it/tmp_img/articolo_50x50_def8661ca347406b.pnghttp://utenti.html.it/tmp_img/articolo_22x22_c6c40d699e44c911.png ...ecc...ecc...
    Ma termina con un "bellissimo":
    codice:
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes) in C:\Inetpub\wwwroot....
    Non capisco il motivo di questo fatal error, su altri script ho impiegato lo stesso metodo con l'unica differenza di aver usato il fetch_array per creare l'array dei dati recuperati da db, e l'array aveva la stessa identica struttura.

    Qualcuno può aiutarmi? Grazie infinite.
    Perpetual Ribellion With Absolutely No Cause

  2. #2
    aggiungo che con gli E_NOTICE attivi sul php.ini ad ogni iterazione del ciclo mi restituisce:
    codice:
    Notice: Use of undefined constant i - assumed 'i'
    non capisco perchè
    Perpetual Ribellion With Absolutely No Cause

  3. #3
    sono veramente ma veramente tanto tanto rintronato oggi... ho dimenticato il dollaro davanti al $i<$occurr del ciclo for... ora funziona perfettamente...

    grazie lo stesso a tutti.. vado a dormire che è meglio.
    Perpetual Ribellion With Absolutely No Cause

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 © 2024 vBulletin Solutions, Inc. All rights reserved.