Wert übergeben, klappt nicht? Nur warum...

strex

Erfahrenes Mitglied
Hi Leute,

jetzt bin ich durchn eure Hilfe schon sehr weit gekommen, aber ein paar Feinheiten muss ich noch machen.

Nämlich dieses script update meine Dateien. Dazu löscht er die alten Einträge in der DB und schreibt diese neu. Somit akutalisiere ich meinen Bestand in der DB. Auch ältere Dateien werden immer wieder neu geschrieben. Die Dateien werden aus einem Verzeichnis ausgelesen und dann gespeichert.

Nur möchte ich die Anzahl der downloads, die ich auch speichere nicht löschen. Also bei einem Update sind diese weg, weil die Zeile ha neue geschrieben wird.

Jetzt habe ich mir gedacht, ich bau im oberen foreach eine DB Abfrage rein, die dann jeweils für die Datei die Download Anzahl ausliest, dann wird die DB geschlöscht. Der Wert wird weiter hin gespeichert und unten wieder in die DB eingetragen.

Aber es klappt nicht, es wird auch kein Fehler angezeigt.

Weiß einer warum, hier bin ich total ratlos. Danke für eure Hilfe!

grüße strex

PHP:
<?PHP
function listAllPDF($dir=".",$type="otrkey") 
{ 
//Dateien werden aus dem Ordner ausgelesen
    $x = 0; 
    foreach (glob($dir."*.".$type) as $filename) 
    { 
        $pdf[$x]['filename'] = end(explode('/',$filename)); 
        $pdf[$x]['file'] = $filename; 
        $pdf[$x]['size'] = filesize($filename) / 1024; 
        $pdf[$x]['time'] = filemtime($filename); 
		include("dbconnect.php");

        $data = $pdf[$x]['filename'];
		//Daten werden ausgelesen und ausgegeben
        $sql = "SELECT downloads FROM `otrkey` WHERE `Dateiname` = '$data'";
        $ergebnis = mysql_query($sql, $DatabasePointer);

        while ($satz = mysql_fetch_row($ergebnis)) {
               $downloads = $satz[0];
         }  
        $x++; 
    }  
     
    return $pdf; 
} 

$DatabaseHost = ""; 
$DatabaseUser = ""; 
$DatabasePassword = ""; 
$Database = ""; 

//Mirror Server
$Server = "66.21.122.5";


$DatabasePointer=mysql_connect($DatabaseHost, $DatabaseUser, $DatabasePassword); 
mysql_select_db($Database, $DatabasePointer); 

//Datenbank wird gelöscht
//$SQL1 = "TRUNCATE TABLE otrkey wehre  Server='$Server'";
$SQL1 = "DELETE FROM otrkey WHERE Server = '$Server';";
mysql_query($SQL1); 
//Datenbank wird gelöscht

//Otrkey in DB eingetragen
$pdf = listAllPDF("hf83jdw8ej3dsd/","otrkey");

for($x=0;$x<count($pdf);$x++)
{
    $files    =    $pdf[$x]['filename'];
	$filess   =    $pdf[$x]['file'];
    $size     =    number_format($pdf[$x]['size'], 1, ',', '.');
    $date     =    date("d.m.Y, H:i:s", $pdf[$x]['time']);
	$chkmd5   =    md5_file($filess);
	$downy    =    $downloads;
	@preg_match("/[0-9a-zA-Z_-]{2,}_[0-9]{2}\.[0-9]{2}\.[0-9]{2}_[0-9]{2}\-[0-9]{2}_([0-9a-zA-Z]{2,})_[0-9]{1,}_TVOON_DE./", $files, $Sender);
	
	@preg_match("/([0-9a-zA-Z_-]{2,})_[0-9]{2}\.[0-9]{2}\.[0-9]{2}_[0-9]{2}\-[0-9]{2}_([0-9a-zA-Z]{2,})_[0-9]{1,}_TVOON_DE./", $files, $sendung);
	
	@preg_match("/[0-9a-zA-Z_-]{2,}_([0-9]{2}\.[0-9]{2}\.[0-9]{2})_[0-9]{2}\-[0-9]{2}_[0-9a-zA-Z]{2,}_[0-9]{1,}_TVOON_DE./", $files, $Uhrzeit);
	
    $SQL = "INSERT INTO otrkey "; 
    $SQL .= "(Dateiname, Dateigroesse, date, Link, Server, Sender, Sendung, Uhrzeit, Codec, downloads, md5) VALUES "; 
    $SQL .= "('".$files."','".filesize($filess)."','".date($date)."','".$filess."','".$Server."','".$Sender[1]."','".$sendung[1]."','".$Uhrzeit[1]."','".$codec[1]."','".$downy."','".$chkmd5."')"; 
    mysql_query($SQL, $DatabasePointer); 
    if(mysql_affected_rows($DatabasePointer)==1) 
    { 
        echo"Erfolgreich " . $files .  " eingefügt. <br><br>"; 
    } 
    else 
    { 
        echo"Nicht Erfolgreich " . $files . " eingefügt.<br><br>"; 
    } 

}

?>
 
Daran habe ich auch schon gedacht, nur dann fügt er keine neuen Files ein und ausserdem werden gelöscht files immer noch gelistet das wäre aber nicht einmal so schlecht.

Sonst einer eine Idee?


grüße strex
 
Zurück