janis
BOFH
Hallo Leute,
ich will eine Datei auf Viren prüfen, und wenn keine Viren gefunden wurden, sie in einer MySQL Datenbank als "sauber" registrieren.
Funktioniert dieser Shell-Script so? (Ich denke eig nicht)
und hier noch die PHP Datei die das weiterverarbeitet:
Script und Datei sind in einem Ordner!
Schon mal danke
Jan
ich will eine Datei auf Viren prüfen, und wenn keine Viren gefunden wurden, sie in einer MySQL Datenbank als "sauber" registrieren.
Funktioniert dieser Shell-Script so? (Ich denke eig nicht)
Code:
cat /var/www/setup/upload/file.dat
read line
if [ $line -e 0]
then
echo "Nothing to do" >/var/log/php_antivirus.log
else
clamscan "/var/www/setup/tmpfiles/$line > /var/log/php_antivirus.log
fi
lynx --dump http://localhost/setup/upload/scan.php
und hier noch die PHP Datei die das weiterverarbeitet:
PHP:
<?php
$db = mysql_connect('localhost','user','pw');
mysql_select_db('setup');
$ret = file_get_contents("php_antivirus.log");
$file = file_get_contents("file.dat");
$file = explode("/",$file);
echo $ret;
$exp = nl2br($ret);
$exp = explode('<br />',$exp);
array_walk($exp,'arr_walk','Infected files:');
$a = $id;
$err = eregi_replace("([^\\[]*)Infected files: ([^\\[]*)","\\2",$exp[$a]);
if($err==0)
{
$anfrage="UPDATE `tempfiles` SET `checked` = 'Y' WHERE `id` LIKE '".$file[0]."'";
mysql_query($anfrage);
}
else
{
$anfrage="UPDATE `tempfiles` SET `checked` = 'V' WHERE `id` LIKE '".$file[0]."'";
mysql_query($anfrage);
}
$anfrage="SELECT * FROM `tempfiles` WHERE `checked` = 'N'";
$ergebnis = mysql_query($anfrage);
$anz=mysql_num_rows($ergebnis);
if ($anz > 0)
{
$zeile = mysql_fetch_row($ergebnis);
$datei = fopen("file.dat","w");
fwrite($datei,$zeile[0]."/".$zeile[1]);
fclose($datei);
}
mysql_close($db);
echo "\n";
echo "\";
echo date("r");
function arr_walk(&$item, $key, $string)
{
global $id;
if (strpos($item,$string) !== false)
{
$id = $key;
}
}
?>
Script und Datei sind in einem Ordner!
Schon mal danke
Jan
Zuletzt bearbeitet: