Pagina 1 di 1

PHP grabbing immagini internet

Inviato: 02/05/2012, 13:12
da Marcoqwerty
Qualcuno di voi ne capisce di codice PHP...e magari ha anche un'ambiente di sviluppo per testare uno script?

mi serviva per popolare di immagini dei video musicali che ho inserito su Hyperspin, partendo dal nome del file effettuare una ricerca su google immagini e salvarmi il contenuto con lo stesso nome...(ovviamente di estensione .jpg) in un'altra cartella.

Codice: Seleziona tutto

<?php
	 
	$files = glob('*.mp3');
	 
	$ctx = stream_context_create(array(
	    'http' => array(
	        'timeout' => 10
	        )
	    )
	);
	 
	foreach($files as $file) {
	    if(!is_file($file)) {
	        echo "Skipping {$file}\n";
	        continue;
	    }
	 
	    if(is_file(str_replace(".mp3",".jpg", $file))) {
	        echo "Already have cover as {$file}\n";
	        continue;
	    }
	 
	    $OutputFileName = str_replace(".mp3",".jpg", $file);
	    $album = str_replace(".mp3",".jpg",str_replace('_',' ',$file));
	 
	    echo "Checking {$album}.. ";
	 
	    $googleUrl = "http://images.google.com/images?um=1&hl=en&safe=off&imgsz=medium&q=".urlencode($album);
	 
	    $contents = file_get_contents($googleUrl,0,$ctx);
	     
	    if(preg_match_all('/imgurl\\\\x3d(.*?)\\\\x26/i',$contents,$matches)) {
	        foreach($matches[1] as $image) {
	            if($imageContents = file_get_contents($image,0,$ctx)) {
	                file_put_contents($OutputFileName,$imageContents);
	                echo "Found image {$image}\n";
	                break;
	            }
	        }
	    }
	    else {
	        echo "nothing found!\n";
	    }
	}
	?>