Upload Script Fehler |
Dennis0
Mitglied
Dabei seit: 15.06.07
Beiträge: 169
Fähigkeiten: WBB3 Fortgeschritten; WBB2 Fortgeschritten Herkunft: Backnang (nähe Stuttgart) Forenversion: 3.0; 2.3
|
|
Hallo,
ich möchte ein uploadscript basteln,aber irgendwas geht nicht, bin mir aber sicher das diese Zeile richtig ist.
Dies sind die Fehler:
[Tue Sep 15 13:33:35 2009] [error] [client ***] PHP Notice: Undefined index: clientdatei in /srv/www/vhosts/***/subdomains/dennis/httpdocs/upload.php on line 2
[Tue Sep 15 13:33:49 2009] [error] [client ****] File does not exist: /srv/www/vhosts/***/subdomains/dennis/httpdocs/favicon.ico
[Tue Sep 15 13:33:52 2009] [error] [client ****] File does not exist: /srv/www/vhosts/****/subdomains/dennis/httpdocs/favicon.ico
[Tue Sep 15 13:33:57 2009] [error] [client ****] PHP Warning: move_uploaded_file(): open_basedir restriction in effect. File(../srv/www/vhosts/****/subdomains/dennis/httpdocs/uploaded_files/power
panel.png) is not within the allowed path(s): (/srv/www/vhosts/****/subdomains/dennis/httpdocs:/tmp) in /srv/www/vhosts/****/subdomains/dennis/httpdocs/upload.php on line 5, referer: http://dennis.***/
[Tue Sep 15 13:33:58 2009] [error] [client ****] File does not exist: /srv/www/vhosts/****/subdomains/dennis/httpdocs/uploaded_files/powerpanel.p
ng, referer: http://dennis.****/upload.php
PHP Code:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
|
<?php
if(is_uploaded_file($_FILES['clientdatei']['tmp_name']) and ($_FILES['clientdatei']['error']==0))
{
move_uploaded_file($_FILES['clientdatei']['tmp_name'],
"../srv/www/vhosts/***/subdomains/dennis/httpdocs/uploaded_files/".$_FILES['clientdatei']['name']);
echo "Die Datei wurde erfolgreich hochgeladen!<br>\n";
echo "<b>NAme:</b> ",$_FILES['clientdatei']['name'],"<br>\n";
echo "<b>Dateigröße:</b> ",$_FILES['clientdatei']['size']," Bytes<br>\n";
echo "<b>Temporärer Name:</b> ",$_FILES['clientdatei']['tmp_name'],"<br>\n";
echo "<b>Dateityp:</b> ",$_FILES['clientdatei']['type'],"<br>\n";
echo "<a href=\"/uploaded_files/".$_FILES['clientdatei']['name']."\">Datei anzeigen</a>";
}
else
{
echo "Die Datei konnte nicht hochgeladen werden";
}
?>
|
|
Bin Anfänger in Sachen PHP
Danke!
Gruß Dennis
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Dennis0: 15.09.09 13:38.
|
|
15.09.09 13:35 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Dennis0
Mitglied
Dabei seit: 15.06.07
Beiträge: 169
Fähigkeiten: WBB3 Fortgeschritten; WBB2 Fortgeschritten Herkunft: Backnang (nähe Stuttgart) Forenversion: 3.0; 2.3
Themenstarter
|
|
Was müsste ich bei open basedir einstellen? nur das ; weg oder noch etwas anderes? Wenn ich nur das ; wegmache klappt es nicht.
Der Pafd stimmt doch so? Ich bin im tmp Verzeichnis und gehe zurücka ufs root Verzeichnis und dann in den upload ordner?
Sieht bei mir bis jetzt so aus bei open basedir:
open_basedir =
|
|
15.09.09 17:15 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Dizzy.w3
Brain Damage
Dabei seit: 18.07.07
Beiträge: 1.431
Herkunft: Österreich Forenversion: 3.0
|
|
Hi,
PHP Notice: Undefined index: clientdatei in /srv/www/vhosts/***/subdomains/dennis/httpdocs/upload.php on line 2 bedeutet, dass er $_FILES['clientdatei'] nicht kennt.
Alle auf /tmp zugreifen zu lassen ist ein hohes Sicherheitsrisiko, schliesslich koennte so Haenschen auf Fraenzchens Daten zugreifen.
Fuer gewoehnlich gibt es entweder in user/ ein tmp-Verzeichnis oder in user/httpdocs/.
Da das Standard-Temp-Verzeichnis /tmp ist, nehme ich an, dass es sich um eine Fehlkonfiguration handelt, oder aber es gibt nur 1 Serverbenutzer, dann kann man open_basedir auch abaendern, weil es sowieso kein Fraenzchen gibt. Dass es aber leer ist, kann nicht sein, da es bei der Fehlermeldung Verzeichnisse enthaelt, du stoeberst also in der falschen Config, vermutlich gibt es in /etc/apache2 irgendwo vhost-Dateien, die du abaendern kannst.
Um dir zu helfen braeuchte ich mehr Informationen. - Die aber auch dein Provider haben sollte!
Vermutlich gilt hier http://root-und-kein-plan.ath.cx/
__________________ Gruß Dizzy
the rest is silence
|
|
15.09.09 18:17 |
E-Mail
Finden
Als Freund hinzufügen
|
|
xundy
Mitglied
Dabei seit: 16.01.04
Beiträge: 817
Forenversion: 2.3
|
|
in der apache conf-datei für deine Domain müsste bei open_basedir nebem dem Pfad zu deinem Webverzeichnis auch noch tmp stehen, etwa so:
code: |
1:
|
php_admin_value open_basedir "/var/www/web/kunde/:/tmp/" |
|
Damit hat php Zugriff auf dein Webverzeichnis und eben auf tmp.
Das Problem ist bei "$_FILES['clientdatei']" das Du vorher nicht die Existens der Variablen prüfst, aber das wirft nur ein Warning im Apachelog aus, das Script würde trotzdem laufen.
Allerdings erst nachdem du deine open_basedir-Probleme beseitigt hast
mfg
__________________ Fragen kostet nichts, nicht fragen kann teuer werden!
|
|
25.09.09 07:53 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
Dennis0
Mitglied
Dabei seit: 15.06.07
Beiträge: 169
Fähigkeiten: WBB3 Fortgeschritten; WBB2 Fortgeschritten Herkunft: Backnang (nähe Stuttgart) Forenversion: 3.0; 2.3
Themenstarter
|
|
Hat sich schon erledigt, war ein kleiner Fehler
nur ein "/" vergessen (ohne ")
|
|
25.09.09 13:27 |
E-Mail
Finden
Als Freund hinzufügen
|
|
|