WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 13.12.2001, 02:05   #1
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard 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.
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret."
Then he pulled the trigger of his BFG9000.
RaistlinMajere ist offline   Mit Zitat antworten
Alt 13.12.2001, 07:23   #2
Sloter
Inventar
 
Registriert seit: 05.01.2000
Beiträge: 3.812


Standard

Safemod "off" in der php.ini ?

Sloter
Sloter ist offline   Mit Zitat antworten
Alt 13.12.2001, 09:36   #3
ibisxi
Newbie
 
Registriert seit: 13.12.2001
Beiträge: 19


Frage 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
ibisxi ist offline   Mit Zitat antworten
Alt 13.12.2001, 10:13   #4
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard @sloter

ja, ist off. was heißt das, nebenbei bemerkt?
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret."
Then he pulled the trigger of his BFG9000.
RaistlinMajere ist offline   Mit Zitat antworten
Alt 13.12.2001, 10:18   #5
Sloter
Inventar
 
Registriert seit: 05.01.2000
Beiträge: 3.812


Lächeln

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
Sloter ist offline   Mit Zitat antworten
Alt 13.12.2001, 10:55   #6
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard

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?
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret."
Then he pulled the trigger of his BFG9000.
RaistlinMajere ist offline   Mit Zitat antworten
Alt 13.12.2001, 11:02   #7
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

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?
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 13.12.2001, 11:13   #8
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard @_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?
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret."
Then he pulled the trigger of his BFG9000.
RaistlinMajere ist offline   Mit Zitat antworten
Alt 13.12.2001, 11:51   #9
Sloter
Inventar
 
Registriert seit: 05.01.2000
Beiträge: 3.812


Lächeln

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 ist offline   Mit Zitat antworten
Alt 13.12.2001, 12:20   #10
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard @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.
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret."
Then he pulled the trigger of his BFG9000.
RaistlinMajere ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


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


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag