schurik198x
12.09.2007, 11:39:42
Hallo, schaut euch mal diesen PHP-Code an.
nachdem ich die Anweisung if ($abbruch == 0) eingefügt habe kommt wenn ich das ganze ausführe folgende Warnmeldung:
Warning: array_walk() [function.array-walk]: Unable to call trim_value() - function does not exist in C:\xampp\htdocs\xampp\Datacheck\html\check\upload.php on line 72
Ich weiß nicht woran das liegt, ohne diese If-Anweisung ist alles in Ordnung.
Kann mir jemand meinen Fehler sagen.
<?php
//++++++++++++++++++++++++++++++++++++++++++++++++++++++
//leere Felder kontrolieren
if ($_POST[versender]=="" || $_POST[versender]=="Ihr Name" || $_POST[e_mail]=="" || $_POST[e_mail]=="vorname.nachname@ptb.de" || $_POST[bemerkung]=="" )
{
echo '<a1><br />Fehlende Eingaben, wiederholen sie die Eingabe!';
$abbruch = 1;
}
elseif ($_FILES['datei']['name'] == "" )
{
echo '<a1><br />Es wurde keine Datei ausgewählt';
$abbruch = 1;
}
else
{
echo "<br /><a1>Hallo ".$_POST[versender]."<br />Emailadresse: \n".$_POST[e_mail]."<br />Ihre Bemerkung: \n".$_POST[bemerkung];
$abbruch = 0;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Dateiupload
if ($abbruch == 0)
{
$uploaddir = 'upload/';
$uploadfile = $uploaddir . basename($_FILES['datei']['name']);
if (move_uploaded_file($_FILES['datei']['tmp_name'], $uploadfile))
{
echo "<br /><br /><b>Datei wurde erfolgreich hochgeladen.</b>\n";
echo "<br />Folgende Datei wurde hochgeladen: <b>\n".$uploadfile."</b>";
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Antivierenscan für hochgeladene Datei durchführen
$scan = "C:\\\"Programme\\AntiVir Workstation\\avscan.exe\" /GUIMODE=2 /PATH=\"C:\\xampp\\htdocs\\xampp\\Datacheck\\html\\check\\upload\\".$_FILES['datei']['name']."\"" ;
system($scan);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Reportdatei suchen und den Inhalt durchsuchen
//Aktuellste Logfile finden
function listlogs($dir="." , $type="txt")
{
$logdir = "C:\\Dokumente und Einstellungen\\All Users\\Anwendungsdaten\\AntiVir Workstation\\LOGFILES\\";
foreach (glob("$logdir{*.LOG}",GLOB_NOCHECK|GLOB_BRACE|GLOB_NOESCAPE) as $filename)
{
$logs[] = $filename;
}
return $logs;
}
$log = listlogs(".","txt");
krsort($log);
$strpfad = reset ( $log );
//Logfile nach "FUND" durchsuchen und melden ob Virus oder nicht
$sb = '[FUND]';
$lg = file($strpfad);
array_walk($lg, 'trim_value');
$lg = implode(' ', $lg);
$lg = strip_tags($lg);
$woerter = explode(' ', $lg);
if(in_array($sb, $woerter))
{
echo "<b><br /><br />Virus gefunden! Vermeinden Sie es diese Datei zu öffnen.</b>";
echo "<br /><br /><br />Ihr IT-S Team!";
$virus = 1;
}
else
{
echo "<b><br /><br />Keine Gefahr, diese Datei enthält keinen Virus.</b>";
echo "<br /><br /><br />Ihr IT-S Team!";
$virus = 0;
}
function trim_value(&$value)
{
$value = trim($value);
}
if($virus == 1)
{
$virus = "Ja";
}
else
{
$virus = "Nein";
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Eintragung in Datenbank
$db = mysql_connect("localhost", "root", "");
mysql_select_db("datacheck", $db);
$SQL = "INSERT INTO datacheck (name, email, bemerk, datei, datum, infi) VALUES('".$_REQUEST['versender']."', '".$_REQUEST['e_mail']."', '".$_REQUEST['bemerkung']."', '".$_FILES['datei']['name']."', NOW(''), '".$virus."')";
mysql_query($SQL, $db);
}
?>
An der stelle array_walk($lg, 'trim_value'); meldet er den Fehler.
Danke für Eure Hilfe.
nachdem ich die Anweisung if ($abbruch == 0) eingefügt habe kommt wenn ich das ganze ausführe folgende Warnmeldung:
Warning: array_walk() [function.array-walk]: Unable to call trim_value() - function does not exist in C:\xampp\htdocs\xampp\Datacheck\html\check\upload.php on line 72
Ich weiß nicht woran das liegt, ohne diese If-Anweisung ist alles in Ordnung.
Kann mir jemand meinen Fehler sagen.
<?php
//++++++++++++++++++++++++++++++++++++++++++++++++++++++
//leere Felder kontrolieren
if ($_POST[versender]=="" || $_POST[versender]=="Ihr Name" || $_POST[e_mail]=="" || $_POST[e_mail]=="vorname.nachname@ptb.de" || $_POST[bemerkung]=="" )
{
echo '<a1><br />Fehlende Eingaben, wiederholen sie die Eingabe!';
$abbruch = 1;
}
elseif ($_FILES['datei']['name'] == "" )
{
echo '<a1><br />Es wurde keine Datei ausgewählt';
$abbruch = 1;
}
else
{
echo "<br /><a1>Hallo ".$_POST[versender]."<br />Emailadresse: \n".$_POST[e_mail]."<br />Ihre Bemerkung: \n".$_POST[bemerkung];
$abbruch = 0;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Dateiupload
if ($abbruch == 0)
{
$uploaddir = 'upload/';
$uploadfile = $uploaddir . basename($_FILES['datei']['name']);
if (move_uploaded_file($_FILES['datei']['tmp_name'], $uploadfile))
{
echo "<br /><br /><b>Datei wurde erfolgreich hochgeladen.</b>\n";
echo "<br />Folgende Datei wurde hochgeladen: <b>\n".$uploadfile."</b>";
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Antivierenscan für hochgeladene Datei durchführen
$scan = "C:\\\"Programme\\AntiVir Workstation\\avscan.exe\" /GUIMODE=2 /PATH=\"C:\\xampp\\htdocs\\xampp\\Datacheck\\html\\check\\upload\\".$_FILES['datei']['name']."\"" ;
system($scan);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Reportdatei suchen und den Inhalt durchsuchen
//Aktuellste Logfile finden
function listlogs($dir="." , $type="txt")
{
$logdir = "C:\\Dokumente und Einstellungen\\All Users\\Anwendungsdaten\\AntiVir Workstation\\LOGFILES\\";
foreach (glob("$logdir{*.LOG}",GLOB_NOCHECK|GLOB_BRACE|GLOB_NOESCAPE) as $filename)
{
$logs[] = $filename;
}
return $logs;
}
$log = listlogs(".","txt");
krsort($log);
$strpfad = reset ( $log );
//Logfile nach "FUND" durchsuchen und melden ob Virus oder nicht
$sb = '[FUND]';
$lg = file($strpfad);
array_walk($lg, 'trim_value');
$lg = implode(' ', $lg);
$lg = strip_tags($lg);
$woerter = explode(' ', $lg);
if(in_array($sb, $woerter))
{
echo "<b><br /><br />Virus gefunden! Vermeinden Sie es diese Datei zu öffnen.</b>";
echo "<br /><br /><br />Ihr IT-S Team!";
$virus = 1;
}
else
{
echo "<b><br /><br />Keine Gefahr, diese Datei enthält keinen Virus.</b>";
echo "<br /><br /><br />Ihr IT-S Team!";
$virus = 0;
}
function trim_value(&$value)
{
$value = trim($value);
}
if($virus == 1)
{
$virus = "Ja";
}
else
{
$virus = "Nein";
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++
//Eintragung in Datenbank
$db = mysql_connect("localhost", "root", "");
mysql_select_db("datacheck", $db);
$SQL = "INSERT INTO datacheck (name, email, bemerk, datei, datum, infi) VALUES('".$_REQUEST['versender']."', '".$_REQUEST['e_mail']."', '".$_REQUEST['bemerkung']."', '".$_FILES['datei']['name']."', NOW(''), '".$virus."')";
mysql_query($SQL, $db);
}
?>
An der stelle array_walk($lg, 'trim_value'); meldet er den Fehler.
Danke für Eure Hilfe.