PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |
|

07-01-2010, 11:13
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 225
|
|
Frage zu $_FILES
Hallo!
Ich lese über eine foreach Schleife Dateinamen aus, welche hochgeladen werden soll!
PHP-Code:
foreach($_FILES as $file) {
if($file['name']!="") { $bildpfad = $uploaddir."".$file['name']; } }
Ist es möglich, auch den Feldnamen auszuegebn, aus welchem der aktuelle Pfad ausgelsen wird? also sowas wie: $file[Feldname] ??
|

07-01-2010, 11:17
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
|
|
Ich verstehe nicht ganz, was du auslesen willst? Den Feldnamen des Input-File-Feldes? Falls nein: Was meinst du mit "aus welchem der aktuelle Pfad ausgegeben wird"?
|

07-01-2010, 11:24
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 225
|
|
Ja, den Namen des Input-File-Feldes.
ALso ich lese ja aus allen Feldern, welche den Typ "File" haben, den Pfad aus, welchen ich durch den Button "Durchsuchen" angegeben habe, aus.
Ich habe da 10 Felder, und mann kann auch noch nach belieben ein Feld hinzufügen.
Das 1. Feld hat den Namen Preistabelle.
Die anderen Felder haben den Namen Image1......bis ImageX.
Kein Feld ist aber ein Pflichtfeld.
Somit muss ich erstmal überprüfen, ob überhaupt ein Pfad drin steht.
Falls das Feld Preistabelle einen Pfad entählt, soll in die DB was anderes gespeichert werden, als wenn das Feld ImageX einen Link entählt.
Deswegen hätte ich gerne eine Überprüfung, aus welchem Feld ich gerade den Pfad auslese!
Geändert von Kangarooo (07-01-2010 um 11:33 Uhr)
|

07-01-2010, 11:59
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 3.296
|
|
HTML-Code:
<input type="file" name="Image[0]">
<input type="file" name="Image[1]">
<input type="file" name="Image[2]">
<input type="file" name="Image[hinten]">
<input type="file" name="Image[vorn]">
<input type="file" name="Image[oben]">
|

07-01-2010, 12:14
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 225
|
|
Ne, mit der Namesvergabe habe ich ja keine Probleme! Das geschieht automatisch mit einer javascript funktion! mir geht es wirklich nur darum, den Feldnamen zu bekommen, aus welchen gerade mit $file[name] der pfad ausgelesen wird.
|

07-01-2010, 12:33
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
|
|
Es wird kein Pfad aus irgendeinem Feld ausgelesen, sondern du bekommst lediglich den Pfad der Datei in die PHP die hochgeladene Datei gepackt hat! Wie du an den Namen des Feldes kommst, wirst du herausfinden, wenn du dir das $_FILES-Array ausgeben lässt und die Struktur untersuchst!
|

07-01-2010, 12:36
|
streuner
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 623
|
|
Zitat:
Zitat von Kangarooo
...den Feldnamen zu bekommen, aus welchen gerade mit $file[name] der pfad ausgelesen wird.
|
Verstehe ich nicht, aber wenn die Feldnamen alle von Image1 bis ImageX gehen, kannst du die doch über ne einfache Schleife abfragen! Wenn Du die dynamisch erstellst, kannst Du z.B. mit
if (document.Form.Name != null) {
... Anweisung ...
}
nach dem abschicken des Formulars prüfen, ob das Feld vorhanden ist,
oder was meinst du?
mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
|

07-01-2010, 12:38
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 225
|
|
Naja, aber die ganzen pfade bekommt er doch aus den input feldern!?
wie soll ich mir denn dass $_FILES array ausgeben lassen wenn sich daran nicht die feldnamen befinden?
|

07-01-2010, 12:39
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
Zitat:
Zitat von Kangarooo
Ne, mit der Namesvergabe habe ich ja keine Probleme!
|
Doch, hast du:
Zitat:
Die anderen Felder haben den Namen Image1......bis ImageX.
|
Wann immer du beginnst, in einem Bezeichner selbst eine „Nummerierung” einzuführen, hast du ein Problem.
Arrays sind in 99,999% der Fälle der bessere Weg.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

07-01-2010, 12:48
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 225
|
|
Zitat:
Zitat von streuner
Verstehe ich nicht, ....
|
Also:
PHP-Code:
<input type="file" name="preistabelle" value="" id="preistabelle" /> <input type="file" name="image1" value="" id="image1" /> <input type="file" name="image2" value="" id="image2" />
So, dann lese ich über die foreach Schleife JEDES file-feld aus.
PHP-Code:
foreach($_FILES as $file) { if($file['name']!="") { $bildpfad = $uploaddir."".$file['name']; $insertpic="INSERT INTO pictures (pic, beschreibung) VALUES ( $bildpfad, "Landschaft") } }
So, wenn aber das Feld "Preistabelle" ausgelesen wird, soll in eine andere Datenbank geschrieben werden.
|

07-01-2010, 12:48
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 3.296
|
|
Zitat:
Zitat von Kangarooo
Naja, aber die ganzen pfade bekommt er doch aus den input feldern!?
|
Nein!
Einzig den Dateinamen und der File_Type kommt vom Browser.
Zitat:
Zitat von Kangarooo
wie soll ich mir denn dass $_FILES array ausgeben lassen wenn sich daran nicht die feldnamen befinden?
|
Die Feldamen werden im $_FILES Array als Key verwendet.
Sind also drin.
|

07-01-2010, 12:51
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 225
|
|
@combie
Ahhh...sehr gut!!! Und wie lese ich dann dass $_Files Array dann aus um an die feldnamen zu kommen?? Wenn du mir dass noch als COde schreibn könntest wäre ich erstmal glücklcih! :-)
Weil dann könnte ich dann sagen:
PHP-Code:
if ($_Files[feldname]=="preistabelle") { andere aktion! }
|

07-01-2010, 12:53
|
Wyveres
Registrierter Benutzer
|
|
Registriert seit: Dec 2006
Ort: Rügen
Beiträge: 763
|
|
PHP-Code:
foreach($a as $key=>$value)
{
if($key=="wert")
{
}
}
|

07-01-2010, 13:08
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 3.296
|
|
|

07-01-2010, 14:46
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 225
|
|
Geht dass denn so???
PHP-Code:
foreach($_FILES as $key=>$file) { if($file['name']!="") { if($key=="0") { .....
Irgendwie nämlcih nciht!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|