Files mit PHP in eine Datenbank schreiben

andreasst

Mitglied
Ich habe auf meiner Site einen Downloadbereich, damit die Verwaltung einfacher ist, stehen die Links in einer Datenbank mit der dazugehörigen Beschreibung etc.
Jetzt möchte ich über ein Script zusätzlich das File in die Datenbank schreiben.
2. Probleme bei dem Script
1. Ich würde gerne eine Ausgabe haben, wie weit der Vorgang ist
2. Das script wird mit einem fatal Error abgebrochen weil die Ausführung zu lange dauert, dazu ist vielleicht zu sagen, das die Files bis zu ca 4MB haben.

PHP:
<? session_start();
require("../inc/db.php");
//$sql = "select * from filelist ";

if (isset($_POST['file']))
{

}

?> <?
if (isset($_GET['id']))
{
	$sql = "SELECT Link from filelist where id=".$_GET['id'];
	$res = mysql_query($sql) or die("Anfrage fehlgeschlagen: " . mysql_error());
	$result_link = mysql_fetch_array($res,MYSQL_ASSOC);
	echo "recived Link:".$result_link['Link']."<br>";
	$filename=$result_link['Link'];
	if (strstr($filename , "http://")) 
	{//Wenn filename eine URL ist, dann existenz der Datei prüfen
	  $test = @fopen ($filename, "r");
	  if (!$test) 
		{	echo "<p>Datei konnte nicht geöffnet werden. <br>";
      @fclose ($test);
      exit;
		}
	//richtigen Dateiname herausfinden
		echo "Start File load...";
		$cont = readfile($filename);
		$sql = "update filelist set Content='".$cont."' where id=".$_GET['id'];
		$res = mysql_query($sql) or die("Anfrage fehlgeschlagen: " . mysql_error());
		echo "File load finished";
		
	}
}
?>
 
Ich würde die Dateien nicht in der Datenbank speichern sondern nur dessen Metadaten.
 
Zurück