php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.09.2007, 22:06  
Erfahrener Benutzer
 
Registriert seit: 09.02.2005
Beiträge: 256
Matthiasnet
Standard upload_script klappt plötzlich nicht mehr (php.ini?)

Hallo,

wollte mal nachfargen ob jemadn eine Idde hat, warum ein Uploadscript vom einem auf den anderen Tag nicht mehr funktioniert?

Script-code ist folgender:
PHP-Code:
if ($_FILES['schreiben_datei']['type'] == "image/jpeg" || $_FILES['schreiben_datei']['type'] == "image/pjpeg") {
        
//....
$mysql->insert("schreiben","userid, dateityp","'$_POST[kundennummer]', 'jpg'","Datensatz wurde erfolgreich eingetragen!
"
);
        
$sql $mysql->select("MAX(id) as id","schreiben","userid = '$_POST[kundennummer]'");
        
$res mysql_fetch_array ($sql);         $schreibnr $res["id"];          
            if (!empty(
$schreibnr)) {
                if (
move_uploaded_file($_FILES['schreiben_datei']['tmp_name'], "$absoluter_pfad/admin/versand/$_POST[kundennummer]/schreiben_$schreibnr.jpg")) {
                    echo 
"JPG Bilddatei wurde erfolgreich hochgeladen";
                }
                else {
                    echo 
"Beim Hochladen der JPG Bilddatei ist ein Fehler aufgetreten!";
                }
            }
            else {
                echo 
"Beim Eintragen des Datensatzes ist ein Fehler aufgetreten!";
            }
    }
else {
echo 
"In der von Ihnen angegebenen Datei handelt es sicht nicht um eine PDF/JPEG/JPG Datei.
 Der Mime-Typ dieser Datei ist "
.$_FILES['schreiben_datei']['type'];
    } 
Habe was rumexperementiert und folgende Punkte sind mir aufgefallen:
- $_FILES-Variablen sind teilweiße nicht gefüllt
Zitat:
[schreiben_datei_name] => arrows.gif
[schreiben_datei_type] =>
[schreiben_datei] =>
[schreiben_datei_size] => 0
-
PHP-Code:
mime_content_type() 
gibt ebenfalls bei egal welcher Datei nichts aus(Funktion ist vorhanden, habe auch die Funktion die im php-
manual als Kommentar steht benutzt, jedoch auch kein Ergebnis)
- bin einmal auf "Dateieendung prüfen" umgestiegen, dann wußte ich zwar den Typ der Datei (auch wenn unprofessionel) und habe aber anschließend gemerkt, dass die funktion move_uploaded_file() nicht mal mehr richtig funktioniert(erhalte keine fehlermeldung jedoch wird die datei nicht hochgeladen)

Wie gesagt alles von einem auf den anderen Tag passiert...hab schon an php.ini gedacht, dass vll. da was umgeändert worden ist, aber file_uploads war auf on (und weiß ehrlich egsagt auch ncihtw eietr was das noch hätte verursachen können)

Grüße

Matthias
Matthiasnet ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 04.09.2007, 22:56  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

enctype-Attribut im <form>-Tag gesetzt?

Der Dump deines $_FILES-Array ist fehlerhaft, soetwas würde nie in $_FILES stehen, $_FILES ist mehrdimensional. Überprüf das nochmal.
Zergling-new ist offline   Mit Zitat antworten
Alt 04.09.2007, 23:06  
Erfahrener Benutzer
 
Registriert seit: 09.02.2005
Beiträge: 256
Matthiasnet
Standard

Hi,

jap ist gesetzt.

Der Dump kam von meienr Fehlerbehandlungsfunktion, habs nochmal manuell gemacht aber gleiches Ergebnis:
PHP-Code:
<?
var_dump
($_FILES);
?>
Ausgabe:
Zitat:
array(1) {
["schreiben_datei"]=>
array(5) {
["name"]=>
string(10) "arrows.gif"
["type"]=>
string(0) ""
["tmp_name"]=>
string(0) ""
["error"]=>
int(6)
["size"]=>
int(0)
}
}
Edit:Gebe auch mal gerne den Code meines Formualrs dazu:
Code:
<form action="" enctype="multipart/form-data" method="POST"> 
<select name="kundennummer"><option value="-">-</option></select>
<input type="file" name="schreiben_datei">
<input type="submit" name="senden" value="Hochladen">
</form>
Matthiasnet ist offline   Mit Zitat antworten
Alt 04.09.2007, 23:30  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Welches upload_tmp_dir ist gesetzt?
http://de.php.net/manual/de/ini.core...upload-tmp-dir

Bitte poste einmal alle php.ini Variablen bezüglich Upload (keinen online Link zur phpinfo() bitte):
file_uploads
upload_tmp_dir
upload_max_filesize
..


Welche Größe hat die hochgeladene Datei?
Zitat:
["error"]=> int(6)
Das ist sehr merkwürdig, es existieren nur Fehlercodes 0 bis 4:
http://de.php.net/manual/de/features...oad.errors.php

Hier scheint dein Skript oder Framework irgendeinen Fehler zu machen.
Das Problem können wir für dich also nicht lösen.
Zergling-new ist offline   Mit Zitat antworten
Alt 05.09.2007, 12:30  
Erfahrener Benutzer
 
Registriert seit: 09.02.2005
Beiträge: 256
Matthiasnet
Standard

Hi,

ja wie gesagt...von einem auf den anderen Tag hat´s nicht mehr funktioniert.
Ein Framework wird hier nicht benutzt, ist lediglich das Script wie ich es gepostet habe.
Und was mich interessiert ist, was meinst du genau mit "Hier scheint dein Skript irgendeinen Fehler zu machen."? Könnte es also an php an sich liegen oder wie kann man das verstehen?
Könnte es vll. auch daran liegen, dass der Server von php 4.4.4 auf php "5.2.0-8+etch1" umgestiegen ist?

Zu den php.ini Einstellungen:
file_uploads = on
upload_max_filesize = 2M
upload_tmp_dir: Local = /home/www/web0/phptmp; Master=no value
(Müsste upload_tmp_dir evt. auf den standartwert null gesetzt werden?)

Die Datei ist 13,9 kb groß...genau das gleich erscheint jedoch auch beim versuch andere Dateien hochzuladen.


Grüße

Matthias
Matthiasnet ist offline   Mit Zitat antworten
Alt 05.09.2007, 13:25  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ah, der Hinweis auf die PHP-Version war entscheidend, zumindest für meinen Denkapparat: Die typisch veraltete deutsche PHP-Handbuchseite - verflucht sei sie, denn der Error-Code 6 existiert doch:
http://de.php.net/manual/en/features...oad.errors.php
Zitat:
UPLOAD_ERR_NO_TMP_DIR

Value: 6; Missing a temporary folder. Introduced in PHP 4.3.10 and PHP 5.0.3.
Offenbar existiert also das upload_tmp_dir nicht - var_dump(is_dir(ini_get("upload_tmp_dir"))) mal testen. Du kannst diesen Pfad auch auf NULL setzen ja, dann wird der tmp-Ordner des Systems genommen.
Zergling-new ist offline   Mit Zitat antworten
Alt 05.09.2007, 13:46  
Erfahrener Benutzer
 
Registriert seit: 09.02.2005
Beiträge: 256
Matthiasnet
Standard

lol ja, soviel zum Tehma RTFM , hätte aber auch mal den ersten Kommentar überfliegen können, da stehts auch drin

Also hab mir mal
PHP-Code:
var_dump(is_dir(ini_get("upload_tmp_dir"))); 
ausgeben lassen und erhalte
Zitat:
is_dir() [function.is-dir]: open_basedir restriction in effect. File(/home/www/web0/phptmp) is not within the allowed path(s): (/home/www/web0/html/:/home/www/web0/phptmp/:/home/www/web0/files/:/home/www/web0/atd/)
Bin mir nicht sicher, aber würde daraus schließen, dass es sich um einen falschen Pfad handelt oder es sich einfach außerhalb des zulässigen Bereichs handelt und dieser (wenn der Fehler nicht erscheinen darf) entweder in open_basedir zugelassen werden sollte oder eben ein anderer Pfad...?
Matthiasnet ist offline   Mit Zitat antworten
Alt 05.09.2007, 13:51  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Hier wäre wohl eine kleine Mail an den Support des Webhosters fällig.
Wenn die schon die PHP-Version ändern, dann sollen sie das auch richtig konfigurieren.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline   Mit Zitat antworten
Alt 05.09.2007, 14:03  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von Matthiasnet
is_dir() [function.is-dir]: open_basedir restriction in effect. File(/home/www/web0/phptmp) is not within the allowed path(s): (/home/www/web0/html/:/home/www/web0/phptmp/:/home/www/web0/files/:/home/www/web0/atd/)
Da hat der Hoster wohl einen trailing Slash vergessen, denn "/home/www/web0/phptmp" ist ja logisch gesehen in der Liste der erlaubten Pfade "/home/www/web0/phptmp/"
Zergling-new ist offline   Mit Zitat antworten
Alt 05.09.2007, 14:04  
Erfahrener Benutzer
 
Registriert seit: 09.02.2005
Beiträge: 256
Matthiasnet
Standard

EDIT: ok thx für die Hilfe...das mit dem / hatte mich auch leicht irritiert, aber wusste auch nciht recht wie es "normal" hätte aussehen müssen.
Matthiasnet 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
php.ini extensions problem... lomtas Server, Hosting und Workstations 10 18.06.2009 23:36
Auslesen der PHP.INI Till-grisu PHP Tipps 2008 2 20.02.2008 13:54
php.ini & error_* squig PHP Tipps 2007 2 25.12.2006 22:18
ne "gute" php.ini für php5? brian johnson PHP Tipps 2006 4 04.12.2006 08:28
Was sind Voraussetzungen für eine locale php.ini stani PHP Tipps 2006 1 07.10.2006 14:42
Problem: Zeitstempel in error log ueber php.ini moeglich? little_holly PHP Tipps 2006 2 07.09.2006 12:38
Pfadangabe zur php.ini imported_Loki PHP Tipps 2006 10 09.06.2006 11:09
suPHP erkennt php.ini nicht Sundriver Server, Hosting und Workstations 0 29.04.2006 18:14
PHP.ini wird nicht gefunden PHP Tipps 2006 5 03.01.2006 17:29
upload_limit der php.ini umgehen? PHP Tipps 2005-2 12 02.08.2005 20:05
Aufbau php.ini Faebe PHP-Fortgeschrittene 3 31.03.2005 19:25
Pfadangabe in php.ini funktioniert nicht PHP Tipps 2005 10 29.03.2005 15:16
php.ini bearbeiten Juuro Server, Hosting und Workstations 13 01.02.2005 22:51
[Erledigt] Server lokal - php.ini Timeout einstellen PHP-Fortgeschrittene 7 28.12.2004 12:05
Riesenproblem mit meinen VServer und PHP.ini PHP Tipps 2004-2 7 26.11.2004 14:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php $_files nicht gefüllt, upload_tmp_dir setzen, mediawiki upload_tmp_dir no value, mediawiki $_files empty, scriptcode.php funktioniert nicht mehr, php ini jpg, files tmp_name datei exisitiert nicht, php upload_tmp_dir, upload_tmp_dir php.ini, missing a temporary folder php.ini, php upload_tmp_dir mehrere pfade, php.ini jpg, \error: file upload stopped by extension. introduced in php\, \missing a temporary folder. introduced in php 4.3.10 and php 5.0.3. \, upload_tmp_dir mediwiki, /home/www/web0/html/:/home/www/web0/phptmp/:/home/www/web0/files/:/home/www/web0/atd/, php.ini konfiguration jpg, upload_tmp_dir ausgeben, phpini kann keine jpg mehr hochladen, upload_err_no_tmp_dir value: 6; missing a temporary folder.

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:30 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.