![]() |
php - problem mit fileupload von windowssytem auf linuxserver
folgendes problem:
ich habe einen fileupload auf einen linuxserver. mit der funktion $bildname = basename($bildpfad); extrahiere ich den dateinamen vom gesamtpfad. auf meinem windowssystem, wo ich teste, funzt alles bestens, der pfad wird übernommen, der upload auf den linuxserver paßt auch. nur wenn ich das ganze vom linuxserver aus, d.h. von dort den fileupload mit meinem system als quelle, machen will, gibts probleme. Warning: error opening D:\\apache\\htdocs\\poco\\shopkeeper\\pix\\artikel \\ahoi.gif in /home/po006vmo/www/home/shopkeeper/create.php on line 103 es kann also das lokale file nicht gelesen werden. die zeile 103 sieht bei mir so aus: ftp_put($ftp, $bildname, $bildpfad, FTP_BINARY); es wird offensichtlich $bildpfad, also der string, der aus dem file-feld stammt, für den upload nicht angenommen. ich habe mir testhalber die variablen $bildpfad und $bildname ausgeben lassen, auf dem windowssystem werden sie korrekt ausgegeben, funzt ja dort auch alles bestens, nur auf dem linuxserver sehen sie beide gleich aus, nämlich so: D:\\apache\\htdocs\\poco\\shopkeeper\\pix\\artikel \\ahoi.gif was darauf hindeutet, daß die pfadangabe als string zwar sehr wohl übernommen wird, aber nicht als pfad akzeptiert wird, sonst würde nämlich basename($bildpfad) korrekt funktionieren und den dateinamen aus dem obigen pfad extrahieren. an den doppelten "\\" liegts wohl nicht, denn 1. gehts ja unter win und 2. hat ein stripslashes($bildpfad) vor dem ftp-upload auch nix gebracht, dann hab ich dieselbe fehlermeldung nur mit einem "\" jeweils. vielen dank für jede hilfe, ich bin echt am narrischwerden und das teil muß bald fertig sein. :mad: |
Safemod "off" in der php.ini ?
Sloter |
dir-seperators
Hey Andy...
Linux verwendet / (Slashes) um die dirs von einander zu trennen. Kann es sein, dass das der fehler war/ist? Ansonsten setzen wir uns wohl am besten morgen nachmittag zusammen hin und schaun uns das an... (und danach gehts zu ursi :-) grüaßle! Tobias |
@sloter
ja, ist off. was heißt das, nebenbei bemerkt?
|
Safemod (geschützter betrieb) ist eine kleine Sicherheitseinrichtung.
Ist Safemod on, können zB keine Datein auf den Server mit PHP raufgeladen werden. Beim raufladen von Datein wird das Temp-verzeichnis verwendet. Hast du Zugriff auf den Linuxserver? Sloter |
zugriff habe ich, ich kann über ein ftp-prog oder wenn ich das skript testhalber von meinem windowsserver aus ausführe, auch auf den linuxserver raufladen.
es liegt übrigens nicht daran, daß der linuxserver die pfadangabe nicht als solche erkennt, weil "\" darin vorkommen, ich hab den string so aufbereitet, daß die "\" durch "/" ersetzt werden, jetzt lautet die meldung halt Warning: error opening D:/apache/htdocs/poco/shopkeeper/pix/artikel/ahoi.gif in /home/po006vmo/www/home/shopkeeper/create.php on line 106 :( welches temp-verzeichnis, das lokale? |
Bin kein PHP-Guru, aber "D:/apache/..." ist IMHO keine gültige Pfadangabe für Linux, da es die Laufwerksbuchstabenmetapher nicht gibt.
Ich verteh aber auch das Problem nicht so ganz. Du willst einen File-Upload über einen Browser auf einen Webserver relaisieren? Und Du verwendest dafür ein PHP-Script am Server? |
@_m3
genau, es soll über ein auf dem server liegenden script auf diesen server ein lokales file upgeloadet werden. nur das lokale file kann nicht für den upload geöffnet werden und ich frage mich warum. daß es nicht an den pfadunterschieden zwischen windows und linux liegt, ist mir mittlerweile schon klar, aber wo sonst kann da ein fehler sein? v.a. warum wird das lokale file gefunden, wenn ich das script von meinem server aus ausführe und auf den andern server rauflade?
|
Vielleicht hilft der Link
http://www.php4-forum.de/beispiele/anwendung_upload.htm Vielleicht Probleme mit den Dateirechten am Winrechner? Vielleicht die FTP-Funktion in PHP am Linuxserver nicht compiled? Vielleicht die Datei zu groß? (wird in der php.ini geregelt Sloter |
@sloter
thx, aber irgendwie ist das, was im link steht, nicht wirklich eine upload-, sondern lediglich eine copy-beschreibung, warum das unter "upload" gehandelt wird, verstehe ich nicht ganz.
rechteproblem ist es auch keins, hab grad von nem anderen kübel aus übers web betroffene datei geöffnet. und zu groß ist die datei nicht, denn die standarteinstellung ist ja 2mb und das paßt somit. ob die funktion gar nicht compiled wird... kann sein, aber ich kann mir das bei inode schwerlich vorstellen. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 14:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag