Scripts

Plaatjes downloaden

Eens even een hele andere toepassing van PHP, die niet echt handig is voor websites, maar het is gewoon om te laten zien wat je ook met PHP kan. Als je wel eens op sites als gallerygalore.net komt, dan zal je misschien wel eens zo iets hebben van, die Gallery met JPGjes zou ik wel eens willen downloaden. Dan kan je gaan wachten tot de plaatjes binnen gehaald zijn en dan de plaatjes 1 voor 1 opslaan, maar je kan ook dit PHP scriptje gebruiken :) het is dus de bedoeling dat je het scriptje op je eigen PC uitvoert, je moet hiervoor PHP geinstalleerd hebben, maar je hoeft niet persé een webserver te draaien, je kan het script wel gewoon in je browser uitvoeren, maar je kan het ook via de commandline uitvoeren, onder windows kan je dit *.bat besandje gebruiken: @echo off c:\php\php.exe -q img.php exit c:\php\php.exe is natuurlijk waar jij php geinstalleerd hebt. Bovenin het bestand staan wat variabelen die je even moet aanpassen... Ik zou zeggen, ga eens lekker knoeien :P Uiteraard is er geen voorbeeld beschikbaar.

plaatjes-downloaden
-----------------------
img.php
-----------------------

<?

/* TIMEOUT VOOR VEEL PLAATJES! */
set_time_limit(999); # Als je dit niet insteld, stopt het script na 30 sec.

/*  Lokatie waar vandaan je de plaatjes wil hebben... */
# URL, zonder een file...
$location = 'http://www.phphulp.nl/';
# Geef hier een pagina op. (Mag weg gelaten worden...)
$index = 'index.php';

# Map waarin de plaatjes opgeslagen zullen worden...
$dir = 'img_dll'; 

# Gewoon een 0 voor als een bestand evt dubbel zou worden...
$alt_file_name = 0;

# Een voorvoegsel om dubbele bestanden te voorkomen...
$alt_file_voor = 'edgar_'; 

$file = file($location . $index);

/* MAP MAKEN OM DE PLAATJES OP TE SLAAN */
if(!is_dir($dir))
   {
   mkdir($dir, 0777);
   }

function extensie($file)
 {
 $ext = explode('.', $file);
 return $ext[count($ext)-1];
 }

foreach($file as $k => $v)
	{
	$a = explode("'", $v);
	foreach($a as $ka => $va)
		{
		$b = explode('"', $va);
		foreach($b as $kb => $vb)
			{
			if(strpos(strtolower($vb), ".jpg") OR strpos(strtolower($vb), ".jpeg") OR strpos(strtolower($vb), ".gif"))
				{
				$c = explode("/", $vb);
				$d = count($c);
				$file = $c[$d-1];
				$path = $vb;

				if(file_exists($dir . '/' . $file))
					{
					$alt_file_name++;
					$file_name = $alt_file_voor . $alt_file_name . '.' . extensie($file);
					}
				else
					{
					$file_name = $file;
					}
				
				if(!strpos(strtolower($path), "ttp://"))
					{
					$path = $location . $path;
					}
				
				echo "<p>[" . $k . "] => [path] = " . $path . " ; [file] = " . $file . " ; [file_name] = " . $file_name . "</p>\n\n";
				
				copy($path, $dir . '/' . $file_name);
				
				}
			}
		}
	}

?>

Reacties

0
Nog geen reacties.