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";
}
}
?>