![]() |
[PHP] Hochladescript arbeitet unter Xampp (Win) nicht
Hi,
ich habe Xampp auf meinem PC installiert und ist auch nach außen hin zugänglich über meine normale IP-Adresse (jaja, ich weiß. nicht praktisch wenn man eine dynamische hat, aber für meine Zwecke reichts). Ich habe folgenden PHP-Code:
Code:
Fülle ich dieses Formular mit Delphi mittels TMsMultiPartFormDataStream aus, landet in dem Verzeichnis aber nicht die hochgeladene Datei. Sie überschreitet nicht die maximale hochzuladende Dateigröße. Das ganze läuft unter Windows (Vista), sprich CHMOD gibt es nicht. Das Verzeichnis ist NICHT schreibgeschützt.
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post" enctype="multipart/form-data"><input type="file" name="f"><input name="l" type="submit"></form>';
move_uploaded_file($_FILES['f']['tmp_name'],'http://'.$_SERVER['REMOTE_ADDR'].'/blubb/'.$_GET['name'].'.txt'); Entweder muss ich noch was in der PHP.ini ändern, weil etwas noch nicht erlaubt ist, oder die Pfadangabe ist falsch ('http://77.168.56.12/blubb/'.$_GET['name'].'.txt'). Vorher stand da: /srv/www/vhosts/blubb.de/httpdocs/blubb/ Hab ich einen Fehler beim Pfad oder muss ich das Hochladen von Dateien erst in der Php.ini erlauben? Ich bin nicht gerade Experte was die PHP-Einstellungen betreffen. :lol: |
Re: [PHP] Hochladescript arbeitet unter Xampp (Win) nicht
Du kannst generell nicht übers http-Protokoll schreiben, also kannst du auch keine Datei nach
![]() Du kannst js erstmal sowas wie C:\test.dat angeben ;) |
Re: [PHP] Hochladescript arbeitet unter Xampp (Win) nicht
Das versteh ich nicht ganz. Du meinst ich soll das auf die ÖFestplatte speichern? Irgendwo und dann verschieben, hm .... eigentlich reicht es mir, wenn es unter C:\ ist. :D
|
Re: [PHP] Hochladescript arbeitet unter Xampp (Win) nicht
Hallo,
Julius meint, du kannst bei move_uploaded_file() als 2. Parameter keine http-Adresse angeben:
Code:
Sonst könnte ja jeder, wenn die Rechte stimmen, auf zahlreichen Servern Dateien speichern und das wäre nicht sonderlich sinnvoll.
move_uploaded_file($_FILES['f']['tmp_name'], [color=#ff0000]'http://'.$_SERVER['REMOTE_ADDR'].'/blubb/'.$_GET['name'].'.txt'[/color]);
Wie Julius geschrieben hast, musst du den absoluten Pfad (falls man das hier so nennen kann) angeben. Wie der unter Windows aussieht, weißt du:
Code:
Auf einem Linux-Server könnte dies beispielsweise so aussehen:
'c:\' . $_GET['name'] . '\blubb.txt'
Code:
Das teilt dir der Hoster jedoch i.d.R. bei Vertragsabschluss mit.
'/home/www/web123/html/main/' . $_GET['name'] . '/blubb.txt'
Achte aber darauf, dass du den Inhalt von $_GET['name'] überprüfst. Sonst lässt sich sehr einfach ein anderer Dateiname bzw. zusätzlich auch ein anderes Unterverzeichnis angeben. Gruß |
Re: [PHP] Hochladescript arbeitet unter Xampp (Win) nicht
Danke. Also muss da ein absoluter Dateipfad hin. Da das Ganze eh nur für mich ist und via htaccess geschützt ist, brauch ich da auch nichts zu überprüfen. :D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz