Ordner auslesen und Namen in MySQL speichern ?

  • #1
R

Raptor

Bekanntes Mitglied
Themenersteller
Dabei seit
10.08.2006
Beiträge
116
Reaktionspunkte
0
Ort
Hamburg
Hallo Leute,

ich habe eine Frage,

und zwar wie kann ich mit PHP einen Ordner auslesen und nur die Dateinamen der enthaltenen Dateien in eine MySQL Datenbank speichern evtl. mit der Prüfung ob der Name schon vorhanden ist ??

Habe schon wie wild gegoogelt aber nicht gefunden, oder bin zu blöd um was zu finden :-D

Danke schon im vorraus.

Rap
 
  • #2
Hi Rap,

ich würde es im Prinzip so angehen:
PHP:
$path = pfad/zum/verzeichnis;
$dir = opendir($path);

while($datei = readdir($dir)){

  if($datei !=->.' && $datei !=->..'){
    
    $result = mysql_query(SELECT datei
                    FROM table
                   WHERE datei =->.$datei.' ,$db);
    if(!$result){ echo mysql_error($db);}
    if(mysql_affected_rows($db) = 0){

     $insert = mysql_query(INSERT INTO table (datei)
                        VALUES ('$datei'), $db);
     if(!$insert){echo mysql_error($db);}
   } else {

     echo $datei. ist bereits vorhanden<br>;
   
  }
}
Ist nur aus dem Kopf schnell geschrieben und nicht getestet.

Weitere Infos und Beispiele findest Du auch hier:

Gruß
Alex[br][br]Erstellt am: 28.02.10 um 20:51:19
[br]Oh... hab grad einen kleinen Fehler entdeckt!!

PHP:
if(mysql_affected_rows($db) = 0){

// muss so heissen mit dem Vergleichoperator->==' !!
if(mysql_affected_rows($db) == 0){

Sorry!!
 
  • #3
Sollte auch mit der schönen Funktion REPLACE gehen ;)

Code:
<?php
$path = pfad/zum/verzeichnis;
$dir = opendir($path);

while($datei = readdir($dir)){
  if($datei !=->.' && $datei !=->..'){
    $query = REPLACE INTO tabelle (datei) VALUES ('. $datei .');
    mysql_query( $query ); 
  }
}
?>
 
  • #4
Hallo Conny,

jep eine schöne, elegeante und schnelle Lösung!

Wenn die Datei definitiv ersetzt werden soll würde ich Deine Löung vorziehen.
Bei meiner Lösung bleibt halt noch etwas Handlungsspielraum was evtl. bei Vorhandensein passieren soll. ;)

Lieben Gruß
Alex

P.S.: ich muss mir auch endlich angewöhnen das Query extra zu schreiben, so ist es einfacher Fehler im Query zu finden.... ::)

=====

Ob Raptor sein Problem wohl lösen konnte?!
 
  • #5
Hi Leutz,

erstmal danke für eure Anworten und sorry das ich mich erst jetzt wieder melde aber hatte jede Menge Stress mit'm Lernen.

Ja hat bzw. funzt alles so wie es soll, habe es aber so gemacht das die vorhandene Datei nicht ersetzt wird, wäre ja blöd, es sei denn sie ist neuer bzw. es hat irgendwelche updates in der Datei selber gegeben.
Habe aber beide Lösungen ausprobiert und das ich eh mehrere Ordner habe die unterschiedlichen Inhalt haben werde ich wohl auch die replace Methode anwenden können.

Aber wie gesagt, danke für die schnelle Hilfe und ich hoffe ich kann auch irgendwann mal helfen :)

Gruß Rap
 
Thema:

Ordner auslesen und Namen in MySQL speichern ?

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.839
Beiträge
707.962
Mitglieder
51.492
Neuestes Mitglied
Janus36
Oben