Datei mit PHP in MySQL Datenbank importieren
kcmuz
- datenbank
Hallo,
ich habe ein Problem mit einem Script und wollte Sie fragen, ob Sie mir vieleicht behilflich sein können??
Ich möchte ein Script schreiben, mit dem ich alle Dateien aus dem Ordner "fonts" in meine Datenbank hochladen.
Ich habe folgendes Script:
config.php:
<?php
// config.php
error_reporting(E_ALL);
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'beispiele');
?>
index.php
<?php
error_reporting(E_ALL);
include 'inc/config.php';
// Konfigurationsdatei laden
if(!@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS)) {
die("Es konnte keine Verbindung aufgebaut werden");
}
echo "Verbindung wurde aufgebaut<br />\n";
if(!mysql_select_db(MYSQL_DATABASE)) {
die("Konnte Datenbank ".MYSQL_DATABASE." nicht benutzen, Fehlermeldung: ".mysql_error());
}
echo "Die Datenbank ''".MYSQL_DATABASE."'' wurde ausgewählt";
// Hier kann man jetzt MySQL-Querys senden
?>
<p>
<?php
function insertIntoDB($table, $toAdd)
{
$fields = implode(array_keys($toAdd), '`,`');
$values = implode(array_values($toAdd), '\',\'');
$q = 'INSERT INTO `'.$table.'` (`'.$fields.'`) VALUES (\''.$values.'\')';
$res = mysql_query($q)OR die(mysql_error());
return true;
}
//-- Beispieldatei
$tToAdd = array('file_id'=>'oitu4j',
'file_name'=>'oitu4j',
'file_desc'=>'oitu4j',
'file_creator'=>'4sdf',
'file_version'=>'7df',
'file_longdesc'=>'7d',
'file_ssurl'=>'oitu4j',
'file_dlurl'=>'oitu4j',
'file_time'=>'oitu4j',
'file_mirrors'=>'oitu4j',
'file_catid'=>'oitu4j',
'file_posticon'=>'oitu4j',
'file_license'=>'oitu4j',
'file_dls'=>'oitu4j',
'file_last'=>'oitu4j',
'file_pin'=>'oitu4j',
'file_pin'=>'oitu4j',
'file_docsurl'=>'oitu4j',
'file_totalvotes'=>'oitu4j',);
insertIntoDB('files', $tToAdd)
?>
Dieses Script trägt nur eine Datei in die Datenbank ein.
Was muss ich jetzt noch für Funktionen einbauen, damit ich alle Dateien aus dem Ordner mit diesen Angáben in die Datenbank eintragen kann?
file_name = Name der Datei ( ist natürlich nicht bei jeder datei gleich, weil ja jede Datei anders heisst ;-) )
file_id = verändert sich bei jeder Datei um +1
file_docurl = Ist der Pfad zur Datei (mit Dateinamen)
Können Sie mir vielleicht helfen?
Gruss
Chris Hofmann
Hi,
da dies ein Forum ist, denke ich mal, ist es ok, wenn ich "Du" sage oder?
Also:
Habe mal vor langer Zeit folgenden Code erhascht:
Du gibts der Variable $verzeichnis einen Wert und dann liest dir das Script alle Dateinamen aus, die in dem Verzeichnis vorhanden sind:
$verzeichnis = "irgendeinVerzeichnis";
$dh = opendir($verzeichnis);
if($dh)
{
while($file = readdir($dh))
{
if ($file == "." || $file == "..")
continue;
else
$files[] = $file;
}
closedir($dh);
}
else
die("Fehler beim Öffnen des Verzeichnisses");
foreach($files as $wert)
{
$end = explode(".", $wert);
echo "<a href='$verzeichnis/$wert'>".$wert."</a><br>";
}
Vielleicht hilft dir das ja weiter.
Gruß,
Thorsten F.