Afbeeldingen drupal site downloaden.

Vaak komt het voor dat je even aan een website moet gaan werken om een "klein" probleempje op te lossen. Als ontwikkelaar wil je dat natuurlijk nooit op een live omgeving doen. Dus moet je eerst de code downloaden (of uit een versiebeheer systeem halen) dan een backup van de database downloaden en importeren.

En dan komt de grootste klus. De Drupal files directory moet gedownload worden. Vaak is deze erg groot en hierdoor wordt dit een tijdrovende klus.

Hiervoor heb ik een klein stukje PHP code geschreven die dit probleem oplost. Als je dit scrip in je lokale Drupal settings.php zet zullen de afbeeldingen automatisch gedownload worden en in de juiste map gezet worden.

<?php
$exts
= 'txt|png|gif|jpe?g';
if(
preg_match('/\.(' . $exts . ')$/', $_SERVER['QUERY_STRING'])){
$domain = 'http://www.example.com/';
$file = $_GET['q'];
$url = $domain . $file;
$headers = get_headers($url, 1);
if(
$headers[0] == 'HTTP/1.1 200 OK'){
 
$original_stream = file_get_contents($url);
  if(!
is_dir( dirname($file) )){
    if(!
mkdir(dirname($filel), '0775', TRUE)){
      print
'Unable to create dir ' .dirname($file);
    }
  }
 
$handle = fopen($file , 'w');
 
fwrite($handle, $file_stream);
 
fclose($handle);
  }
}
?>

Let op imagecache zal geen nieuwe afbeeldingen meer maken!!