Litet kul phpscript

25Apr07

Jag hade vid ett tillfälle behovet att plocka en störe mängd bilder i från en kompis webserver. Bilderna låg i ordningsföljd och en logisk katalogstruktur. Namnade något i stil med http://www.mysite.com/album/1/filename001.jpg så jag hackade ihop ett ganska simpelt PHPscript för att hämta bilderna. Jag valde att köra scriptet som CLI-script. vill man kan man modifiera det lite och köra det på server.

Innehåller fulhack


#!/usr/bin/php
/**************************************************
* för att göra koden lite klare så har jag skapat
* funktionen main som anropas först och som i sin
* tur anropa resten av funktionerna. Egentligen så
* borde de övriga funktionerna ligga i en egen fil
* så att man lätt kan göra ett web-gränssnitt.
*
**************************************************/
function main()
{
/*
* lite fakta om url till loop reglen
*/
$basePath = "http://www.mysite.com/album/";
$dirValLow = 216;
$dirValTop = 219; //sista posten +1
$dirFillChar = 0;
$dirStep = 1;

$midd = “/”; //ändras vid behov (dvs offtast

$imgLow = 1;
$imgTop = 17; //sista posten +1
$imgFillChar = 0;
$imgType = “.jpg”;

$destDir = “news/”;

//yttreloopen är dir
$i = $dirValLow;
print(“\nDownload from: $basePath\n”);
mkdir($destDir);
$outval = 0;
while($i<$dirValTop){
$j=$imgLow;
$modi=sprintf(“%03s”, $i);
while($j < $imgTop){
$modj=sprintf(“%02s”, $j);
$srcFile = $basePath.$modi.$midd.$modj.$imgType;
echo $srcFile;
//fulhacket är för att minska skadorna om filen inte finns
$fulhack =fopen($srcFile, “r”);
if($fulhack){
$destFile=$destDir.”/”.$modi.$modj.$imgType;
if(copy($srcFile, $destFile)){
print(“\ncopy: $outval \tOK”);
}else{
print(“\Error in copy: $line”);
}
$outval++;
}else{
//avslutar jloopen om filen inte finns
print(“\n$srcFile – not found”);
break 1;
}
fclose($fulhack);
$j++;
}
$i=$i+$dirStep;
}
print(“\n”);
}

main();
?>



No Responses Yet to “Litet kul phpscript”

  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: