Showing posts with label xfer. Show all posts
Showing posts with label xfer. Show all posts

Friday, August 1, 2008

Php Kod FTPXFER Logs

function FTPXFER(){//Fichier Parfois présents dans les Logs 1And1, parfois pas
$dir="2001/log/";$file="../logs/ftp.log";$CS=filesize($file);
$Next=@file_get_contents($dir."FtpI");//87274octets,curseur de lecture !
if($CS<$Next)$Next=0;//Si Curseur > Taille Fichier
if($Next>($CS-600000))$Next2=$CS;else $Next2=600000+$Next;//prochain curseur, sinon on le fait évoluer pour lite progressivement le fichier !
writefichier($dir."FtpI",$Next2,'',"w+");//Ecriture du prochain curseur de lecture

echo"Next:$Next/$CS";//histoire d'y voir clair
$Flux=file_get_contents($file,0,NULL,$Next,600000);//Php5 permet la Lecture du fichier depuis $Next sur 600.000 octects de data :)
$LN=explode("\n",$Flux);
FOREACH($LN as $v){//Pour chaque ligne qui correspond à l'enregistrement "STOR" ereg pour choper les infos qui nous intéressent uniquement
if(ereg("\.jp",$v))NULL;//We don't give a Fuck on this one !
elseif(ereg("u46228702(.*) \"STOR (.*)\"",$v,$t))$FTP[abs(crc32($t[2]))].="\n$t[1] $t[2]";
//Crc32 pour retrouver une clé unique par enregistrement !
}//90.14.77.64 UNKNOWN u46228702 [08/Aug/2008:14:41:27 +0200] "STOR VakaAout2008.jpg" 226 54645
FOREACH($FTP as $v)$FTP2.=$v;
$FTP2=str_replace(" +0200","",$FTP2);//on s'en tappe du décalage horaire
writefichier("$dir*FTPXFER.Log",$FTP2,'',"a");//écriture en append
}
FTPXFER();
*Le Must serait de mettre chaque ligne dans un tableau, les comparer par les distances de Levenshtein, et ne conserver que l'enregistrement, la dernière date de modification du fichier, pas l'inverse !

-mat [07/Aug/2008:18:26:32] "STOR index.php" 226 2634
-mat [07/Aug/2008:18:27:26] "STOR index.php" 226 2640
-mat [07/Aug/2008:18:29:11] "STOR index.php" 226 2642
**Permet notamment de créer des comptes FTP spéciaux pour retracer les modifications du fichier quand on ne fait aucune SVN comme moi et que je suis habitué aux projets solo