SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 14.08.2003, 14:12:53
Marcus-bb Marcus-bb ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Manching / Bayern
Beiträge: 13
Marcus-bb eine Nachricht über ICQ schicken
eintragen von dateien in db

serwaaas miteinander,

schön, daß es diese communities gibt, ohne sie würden ich und andere wohl ganz schön schwarz aussehen.

aber zu meinem grund hier zu posten:


wer kann mir in sachen php und sql weiterhelfen?
ich möchte, daß nach einem manuellem upload von mehreren dateien auf ein bestimmtes verzeichnis ein php-script alle dateien dieses verzeichnisses in eine sql-datenbank einträgt. wie läßt sich dies bewerkstelligen?

hintergrund:
will mir eine online-fotodatenbank aufbauen. da ich des öfteren an die 100 fotos auf einmal zu bearbeiten habe, ist die vollendung immer an der mords arbeit gescheitert, die einzelnen fotos (dateinamen) in die db einzutragen. daß muß doch mit php auch automatisch zu machen sein.

mir reicht schon der einfache weg, ein einzelnes verzeichnis bsp. per forumlar anzugeben, aus welchem alle dateien eingetragen werden sollen.
ergänzungen wie nur bestimmte dateien einzutragen usw. interessiert momentan nicht.

vielleicht weiß dazu ja jemand was.


gruß...

--
marcus
Mit Zitat antworten
  #2  
Alt 14.08.2003, 14:42:37
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
Hi Marcus-bb

Willkommen auf Selfphp

so nun zu deinem Prob:

Wenn ich das richtig verstanden habe

Lädst du alle Dateien in ein bestimmtes Verzeichnis
Wenn das abgeschlossen ist, soll er das Verzeichnis Scannen und die gefunden Files in die DB eintragen

oder??
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
  #3  
Alt 14.08.2003, 14:59:27
Marcus-bb Marcus-bb ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Manching / Bayern
Beiträge: 13
Marcus-bb eine Nachricht über ICQ schicken
Zitat:
Original geschrieben von Nev
Hi Marcus-bb

Willkommen auf Selfphp

so nun zu deinem Prob:

Wenn ich das richtig verstanden habe

Lädst du alle Dateien in ein bestimmtes Verzeichnis
Wenn das abgeschlossen ist, soll er das Verzeichnis Scannen und die gefunden Files in die DB eintragen

oder??
serwaaas,

jo, richtig verstanden. ich lade beispielsweise 134 jpg-files in ein bestimmtes verzeichnis per ftp manuell hoch. danach starte ich ein php-file (habe ich zumindest so vor) namens autoinsert.php (bsp.). daraufhin sollen alle sich in dem verzeichnis auf dem server befindlichen jpg-files automatisch in eine sql-db eingetragen werden. vorerst nur einmal der dateiname (p8030703.jpg).

--
marcus
Mit Zitat antworten
  #4  
Alt 14.08.2003, 15:27:43
Marcus-bb Marcus-bb ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Manching / Bayern
Beiträge: 13
Marcus-bb eine Nachricht über ICQ schicken
rehi,

also vielen dank für alle die sich evtl. gedanken gemacht haben. es hat sich mittlerweile eine lösung gefunden.

für alle die es interessiert, hier der code:

PHP-Code:
$verzeichnis dir("./pics/");
$endung ".jpg";
while(
$datei $verzeichnis->read()) {
  if(
substr($datei,strlen($endung)*(-1)) == $endung) {
    
mysql_query("insert into table (name) values ('$datei')");
  }
}
$verzeichnis->close(); 
merce....

--
marcus

Geändert von Marcus-bb (14.08.2003 um 15:45:28 Uhr)
Mit Zitat antworten
  #5  
Alt 14.08.2003, 15:34:04
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
Hi @gain

Hab da mal was geschrieben
Code:
$start_dir = "C:/Offline_server/test/";
$Root_Absolute = $start_dir;
$path_array = array();
$last_dir = "..";

function read_dir ($path, $ext = ".php", $sub_dir = false) {
    global $path_array, $Root_Absolute;
    
    $dir_path = dir($path);
    while($dir_entry = $dir_path->read()) {
        $dir_type = filetype($path."/".$dir_entry);
        if ($dir_type == "dir") {
            if ($sub_dir) {
                if ($dir_entry != "." && $dir_entry != "..") {
                    read_dir ("$path$dir_entry/",$ext,$sub_dir);
                }
            }
        }else{
            if( substr($dir_entry, strlen($ext)*-1) == $ext) {
                array_push($path_array, array(substr($path, strlen($Root_Absolute)),$dir_entry));
            }
        }
    }
    $dir_path->close();
}   
 
read_dir($start_dir, ".php");
sort ($path_array);

foreach ($path_array as $entry) {
    if ($entry[0] != $last_dir) {
        echo "verzeichnis: ".$entry[0]."<br>";
        $last_dir = $entry[0];
    }
    echo $entry[0]." - ".$entry[1]."<br>";
}

so was macht das Ding bzw. was kann es?

der Funktion read_dir können folgende Parameter angegeben werden.
read_dir (Pfad, ext, sub_dir)
Pfad ist Pflicht, es gibt an welches Verzeichnis durchsucht wird.
ext gibt an nach welchem Format gesucht werden soll
Default: .php
sub_dir gibt an ob Unter-Ordner auch durchsucht werden sollen (True / False)
Default: False

Es liefert alles in einem Array zurück -> $path_array

Diese muss zu erst mal sortiert werden -> sort ($path_array);

danach wird das Array durchlaufen:

Dieser Teil ist zuständig für die Sub-Dirs, damit er es nett ausgibt
bzw. das du weißt das er nun in eunen neuen Ordner ist
Code:
    if ($entry[0] != $last_dir) {
        echo "verzeichnis: ".$entry[0]."<br>";
        $last_dir = $entry[0];
    }
hier stehen dir die Variablen
$entry[x] zurverfügung.
$entry[0] beinhaltet den Namen des Verzeichnisses
$entry[1] ist die erste Datei die in das Suchmuster gepasst hat



Diese Zeile gibt dir dann das restliche Verzeichnis aus
Code:
    echo $entry[0]." - ".$entry[1]."<br>";
hier stehen dir die Variablen
$entry[x] zurverfügung.
$entry[0] beinhaltet den Namen des Verzeichnisses
$entry[1] ist die erste Datei die in das Suchmuster gepasst hat

Genau in diesen Teil führst du auch dein SQL-Statement aus!!



Sonstige Variablen:
$start_dir gibt an welches Verzeichnis er durchsuchen soll
$Root_Absolute falls du den gesamten Pfad im Array brauchst, setzte es auf "", wenn du es auf
$Root_Absolute = $start_dir; setzt
wird der Pfad abgeschnitten
$path_array Ist das Array in dem alles steht



Bei Fragen einfach melden
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
  #6  
Alt 14.08.2003, 15:44:13
Marcus-bb Marcus-bb ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Manching / Bayern
Beiträge: 13
Marcus-bb eine Nachricht über ICQ schicken
puh, sehr umfangreich, deine lösung. dafür nochmal ein extra-merce.
nur steig ich momentan nicht durch, wo der prinzipielle unterschied zu dem anderen code liegt? gut, bei dir sind schon einige features eingebaut, beispielsweise extension, unterordner....

dennoch bin ich doch überrascht, daß es hier so schnell ging, wenn ich das ganze mit der reaktion hier Link vergleiche. dort habe ich das ganze vor ein paar tagen versucht, ergebnis siehe thread. man beachte den unterton.

nochmals danke...

--
marcus
Mit Zitat antworten
  #7  
Alt 14.08.2003, 16:00:25
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
Hi @gain

Der unterschied ist einfach nur das er das ganze mit Sub-Dirs machen kann, deswegen auch die eigene Funktion.
Diese ruft sich beim "Durchsuchen mit Sub-Dirs" wieder selbst auf.


@Überrascht:
Ich kann jetzt nur mal von mir reden.
Wenn ich Zeit habe, dann schau ich da vorbei und beantworte die Sachen die so anfallen.

Sicherlich, da ich Programmierer bin, tu ich mir leichter mit den Aufgaben, weil ich täglich mehrere Stunden damit befasse.

zum Ton:
Leider schleicht sich bei uns auch ab und zu ein "unter" Ton ein.

Das ist grundsätzlich das Problem von grossen Foren bzw. vom einzelnen Usern.

Ich sage immer:
Jeder hat mal klein angefangen und hat ned alles von anfang an gewusst.
Irgendwo muss man jemanden fragen.

wenn dann ein "OberMaker", meint er hat die Weisheit mit dem Schöpflöffel gefressen (sorry den Ausspruch), und ist sich zu gut das er jemanden hilft, wird das Board sterben.

Es gehört sich zum guten Ton, den anderen zumindest freundlich zu begegnen oder man lässt es bleiben.
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
  #8  
Alt 14.08.2003, 17:12:36
Marcus-bb Marcus-bb ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Manching / Bayern
Beiträge: 13
Marcus-bb eine Nachricht über ICQ schicken
Zitat:
Original geschrieben von Nev
Hi @gain

Der unterschied ist einfach nur das er das ganze mit Sub-Dirs machen kann, deswegen auch die eigene Funktion.
Diese ruft sich beim "Durchsuchen mit Sub-Dirs" wieder selbst auf.
werde mir deinen code auf jeden fall mal behalten und "verinnerlichen". evtl kann ich das ganze dann mal brauchen.


Zitat:

@Überrascht:
Ich kann jetzt nur mal von mir reden.
Wenn ich Zeit habe, dann schau ich da vorbei und beantworte die Sachen die so anfallen.

Sicherlich, da ich Programmierer bin, tu ich mir leichter mit den Aufgaben, weil ich täglich mehrere Stunden damit befasse.

zum Ton:
Leider schleicht sich bei uns auch ab und zu ein "unter" Ton ein.

Das ist grundsätzlich das Problem von grossen Foren bzw. vom einzelnen Usern.

Ich sage immer:
Jeder hat mal klein angefangen und hat ned alles von anfang an gewusst.
Irgendwo muss man jemanden fragen.

wenn dann ein "OberMaker", meint er hat die Weisheit mit dem Schöpflöffel gefressen (sorry den Ausspruch), und ist sich zu gut das er jemanden hilft, wird das Board sterben.

Es gehört sich zum guten Ton, den anderen zumindest freundlich zu begegnen oder man lässt es bleiben.
jo, sehe ich auch so. wenn ich helfen kann, tu ich es, wenn nicht, halte ich mich zurück, vor allem mit gewissen umgangsformen, um das ganze jetzt mal etwas diplomatisch zu beschreiben.

so denn,....

--
marcus
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:50:45 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt