php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.11.2011, 15:26  
Benutzer
 
Registriert seit: 30.11.2011
Beiträge: 31
PHP-Kenntnisse:
Anfänger
eLiTe11 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Problem mit <input type="file"> und $_FILES ($_FILES leer)

Hallo zusammen,

nachdem ich jetzt einige Zeit nach Lösungen für mein im Threadtitel beschriebenes Problem gesucht habe und nichts was ich in der Masse an Forenthreads gefunden habe geholfen hat, dachte ich ich öffne selbst mal einen Thread. Es geht um folgendes:

Ich habe 2 php Dokumente, wovon das eine lediglich ein Formular zum Uploaden von Dateien beinhaltet, während das andere die Informationen
zugesendet bekommt und diese auswerten sollte.

Nun ist es aber so, dass die $_FILES im verarbeitenden Dokument keinen Inhalt hat. Ich habe das 2. Dokument testweise auf das wesentliche verkürzt, hier sind die Dokumente:

Das Formular:
PHP-Code:
<?php

    
echo '<form enctype="multipart/form-data" action="http://meinedomain.tld/?site=upload" method="post"> 
            <input type="file" name="image"></input><br />
            <input type="submit" name="submit" value="Hochladen"></input> 
          </form>'
;

?>
Und das gekürzte verarbeitende Dokument:
PHP-Code:
<?php

    
if(isset($_POST['submit'])) {
    
        
print_r($_POST);
        
print_r($_FILES);
        
print_r($HTTP_POST_FILES); //zwar veraltet, aber trotzdem mal reinschaun soll ja nicht schaden :)
    
    
}

?>
Die Ausgabe bei einer 311b großen Datei ist die folgende:
Zitat:
Array ( [submit] => Hochladen ) Array ( ) Array ( )
Ich hoffe ihr könnt mir sagen wo mein Fehler liegt, ich selbst bin nämlich ratlos.

Grüße, eLiTe11
eLiTe11 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.11.2011, 15:30  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

http://php.net/manual/de/features.fi...ost-method.php

Bitte kontrollieren, insbesondere file_uploads (ob generell Uploads erlaubt oder verboten sind), sowie die Angaben zu temp-Ordnern + Berechtigungen
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 30.11.2011, 15:40  
Benutzer
 
Registriert seit: 30.11.2011
Beiträge: 31
PHP-Kenntnisse:
Anfänger
eLiTe11 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
file_uploads | On | On
Zitat:
upload_tmp_dir | no value | no value
Die mods für die dokumente sind zzt 777
eLiTe11 ist offline   Mit Zitat antworten
Alt 30.11.2011, 16:13  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Hm, ok. Vermutlich werden post_max_size usw. auch mit sinnvollen Werten belegt sein.

Leeres upload_tmp_dir: Es wird das Standardverzeichnis für temp. Dateien verwendet. Hier unbedingt nochmal ganz genau auf die Berechtigungen achten!

Ist genug Platz zum Upload? (okok, bei einer 311 Byte großen Datei sollte genug Platz vorhanden sein)

Hast du auch schon mal in die Errorlogs von PHP bzw. Apache geschaut, ob dort Hinweise zu finden sind?
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 30.11.2011, 16:43  
Benutzer
 
Registriert seit: 30.11.2011
Beiträge: 31
PHP-Kenntnisse:
Anfänger
eLiTe11 befindet sich auf einem aufstrebenden Ast
Standard

Mein Apachelog gibt eine Masse an fehlern zurück, allerdings außschließlich wegen eines fehlenden favicon.ico.
Habe ich das richtig verstanden, dass die alles was mit php falsch läuft standardmäßig in die logfiles vom apache geschrieben wird und dass ich für ein eigenes logfile erst die php.ini bearbeiten muss?

Ansonsten bin ich gerade zu blöd die phplogs zu finden (no value sagt phpinfo() )

Geändert von eLiTe11 (30.11.2011 um 16:48 Uhr).
eLiTe11 ist offline   Mit Zitat antworten
Alt 30.11.2011, 17:18  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Wenn error_log in der php.in leer ist, werden die Fehlermeldungen nach stderr geschrieben, das wiederum vom Apache in seine error.log umgeleitet wird.

So langsam gehen mir auch die Ideen aus... keine Fehlermeldungen, keine Hinweise, alle Optionen die im Zusammenhang stehen überprüft...

ein letzter Schuss ins Blaue:
Leg eine neue PHP Datei an, folgender Inhalt
PHP-Code:
error_reporting(-1);
ini_set('display_errors'1);

if (isset(
$_POST['submit'])) {
    
print_r($_POST);
    
print_r($_FILES);
    
print_r($HTTP_POST_FILES); //zwar veraltet, aber trotzdem mal reinschaun soll ja nicht schaden :)
}

echo 
'<form enctype="multipart/form-data" action="" method="post"> 
        <input type="file" name="image"></input><br />
        <input type="submit" name="submit" value="Hochladen"></input> 
      </form>'
;

exit; 
exakt dein Code, bis auf die leere Action (und alles in einer Datei)

Gleicher Effekt?
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 30.11.2011, 17:33  
Benutzer
 
Registriert seit: 30.11.2011
Beiträge: 31
PHP-Kenntnisse:
Anfänger
eLiTe11 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Array ( [submit] => Hochladen ) Array ( ) Array ( )
Das und das Eingabeformular sind das einzige was zurückgegeben wird

EDIT: Ich hab gerade mal lokal Xampp gestartet und es darauf getestet, dabei bleibt die $_FILES nicht leer.

Zitat:
Array ( [submit] => Hochladen ) Array ( [image] => Array ( [name] => b_drop.png [type] => image/png [tmp_name] => C:\xampp\tmp\php9A5C.tmp [error] => 0 [size] => 311 ) )
Notice: Undefined variable: HTTP_POST_FILES in C:\xampp\htdocs\test.php on line 8
Kommen eventuell irgendwelche anderen Einstellungen seitens des Servers oder ähnlichem in Frage die Datenübergabe
zu verhindern?

Geändert von eLiTe11 (30.11.2011 um 17:41 Uhr).
eLiTe11 ist offline   Mit Zitat antworten
Alt 30.11.2011, 18:16  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Eigentlich nicht bzw. die verantwortlichen Sachen hattest du ja bereits kontrolliert.

Webserver ist ein Apache? PHP Version? Evtl. für ältere Versionen mal die Bugdatabase durchforsten, aber ansonsten fällt mir nicht mehr viel ein...
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 30.11.2011, 18:20  
Benutzer
 
Registriert seit: 30.11.2011
Beiträge: 31
PHP-Kenntnisse:
Anfänger
eLiTe11 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
PHP Version 5.2.6-1+lenny13 | Apache 2.0
Ich hoffe es gibt hier jemanden der doch noch den goldenen Einfall hat
eLiTe11 ist offline   Mit Zitat antworten
Alt 30.11.2011, 18:28  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.630
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Zitat von eLiTe11 Beitrag anzeigen
Das und das Eingabeformular sind das einzige was zurückgegeben wird
Die Fehlermeldung mit 'Undefined Variable HTTP_POST_VARS" kommt auch nicht?

Ini Direktiven:
post_max_size
file_uploads
upload_temp_dir
upload_max_filesize
max_file_uploads (eventuell 0?)

beeinflussen den Dateiupload (direkt).

Wenn dise alle i.O. frag mal deinen Server Administrator.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit swfobjects R4v3r JavaScript, Ajax und mehr 8 21.09.2008 14:17
problem mit <input type="text"> PHP Tipps 2005 20 06.01.2005 23:56
Problem mit <input type="checkbox"> PHP Tipps 2005 6 06.01.2005 20:16

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
input type file submit, &lt;input type=&quot;, $_files leer bei submit, php version 5.2.6 $_files notice: undefined index:, php $_files, notice undefined variable http_post_files php, $_files php leer?, $_files leer, php $_files leer, multipart/form-data datei leer

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum