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 08.03.2002, 17:02   #1
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard php fileupload, zum x-ten

habs mit hilfe dieser anleitung versucht, nur bekomme ich wenn ich dann am server das script ausführe, die meldung

Warning: Unable to open 'D:\Programme\apache\htdocs\poco\shop\shopkeeper\p ix\artikel\all\artikel.jpg' for reading: No such file or directory in /home/po006vmo/www/home/shop/shopkeeper/create.php on line 101

offensichtlich wird damit gerechnet, daß der pfad sich auf dem server befindet, aber der copybefehl sollte doch von der eigenen hd ein file uploaden können! und dort existiert ja der pfad auch! der zielpfad existiert ebenfalls auf dem server.
was kann der grund für diese meldung 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 08.03.2002, 21:29   #2
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

In der Variablen $bild hast Du den temporären Dateinamen, unter dem Du das hochgeladene Bild auf dem Server findest. Der Variablenname ergibt sich aus dem Namen des input-Form-Elements:
<input type='file' name='bild'>

In $bild_name findet sich DER KOMPLETTE NAME INKL. DES PFADES, unter dem die Datei auf dem Client abgelegt war.
Du musst Dir daher erst den richtigen Filenamen aus $bild_name heraus-regexen, und Dir dann einen korrekten Zielpfad für den Copy-Befehl bauen. $bild_name direkt als Ziel bei copy anzugeben wird nicht funktionieren.

Klar?
____________________________________
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 08.03.2002, 21:43   #3
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard

das ist mir schon klar, sonst würds ja auf meinem eigenen server, wo ich das script getestet habe, nicht gehen, wenns den zielPFAD nicht gäbe, an den ich dann den dateinamen anfüge. von dem her sollte es also passen, mein copybefehl schaut ca. so aus:

copy($pfad_auf_client_von_inputfeld_inkl_dateiname , $pfad_auf_server . $nur_dateiname);

müßte doch eigentlich passen, oder?
____________________________________
"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 08.03.2002, 21:46   #4
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Jup - nur in deinem ersten posting sah es so aus, als würdest Du die Pfade vom client und vom server mischen.
____________________________________
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 08.03.2002, 22:01   #5
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard

nein, mach ich nicht.
bin mittlerweile draufgekommen, daß die extraktion des dateinamens aus dem pfad heraus nicht funktioniert, allerdings nur am anderen server (linux), auf meinem eigenen (windows) schon, nur warum das so ist, verstehe ich nicht, ich mach das mit

$nur_dateiname = basename($pfad_auf_client_von_inputfeld_inkl_datei name);

könnte aber damit zusammenhängen, daß linux ein "\" nicht als trennzeichen akzeptiert und basename nicht gescheit genug ist, mit "/" und "\" umzugehen.
____________________________________
"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 08.03.2002, 22:30   #6
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard

hab mir grad bei php.net die beschreibung von basename angesehen, linux versteht tatsächlich nur "/" als trennzeichen. hab also händisch die extrahierung vorgenommen, und zwar mit

$dateiname = strrchr($pfad_inkl_dateiname, "\");

dann habe ich sowas wie "\datei.jpg"

$nur_dateiname = substr($dateiname, 1);

macht daraus ein "datei.jpg"

somit ist die extraktion komplett, nur leider löst das mein problem nicht, das war zwar ein bug, aber jetzt bekomme ich immer noch die meldung

Warning: Unable to open 'D:\Programme\apache\htdocs\poco\shop\shopkeeper\p ix\artikel\all\artikel.jpg' for reading: No such file or directory in /home/po006vmo/www/home/shop/shopkeeper/create.php on line 106

und das, obwohl der copybefehl mit den richtigen argumenten versorgt wurde. ich hab den befehl doch nicht falsch verstanden, es wird eine LOKALE datei auf einen anderen server kopiert, oder?
____________________________________
"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 08.03.2002, 23:10   #7
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

bitte nehmt es einem php-nixwisser net übel wenn er helfen will, aber:

könnte es helfen, wenn du in

$pfad_auf_client_von_inputfeld_inkl_dateiname

alle "\" mit "/" auswechselt?

gruss
käptn ist offline   Mit Zitat antworten
Alt 08.03.2002, 23:50   #8
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard

das wäre vllt. eine möglichkeit, aber ich hätte doch gern eine lösung, die sowohl von linux- wie auch von windowsservern läuft.
____________________________________
"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 09.03.2002, 00:04   #9
allwissende Müllhalde
Inventar
 
Registriert seit: 28.12.2000
Beiträge: 1.693


Standard

Versuchs zur Abwechslung mal damit:
http://www.zachwhite.com/
das hat bei mir einwandfrei geklappt.
Vielleicht kommst ja über den Umweg ein anderes Skript auszuprobieren hinter den Fehler beim ersten.

Ps: Es klappt zumindest vom Desktop zum Linux-Server im Internet.

____________________________________
Nordick-Wogging
Dumm-ness boomt
Ihr Fengshui Berater
Eurofighter abfangen !
allwissende Müllhalde ist offline   Mit Zitat antworten
Alt 09.03.2002, 03:39   #10
allwissende Müllhalde
Inventar
 
Registriert seit: 28.12.2000
Beiträge: 1.693


Standard

Also bei mir funktioniert dein Skript vom phpforum auch.
Hab ich gerade probiert, und zwar ohne irgendwelche Umstände/Anpassungen.
Das Einzige was mir dazu einfällt wäre evtl. daß du das Verzeichniß
für die Bilder am Server vielleicht nicht chmod 777 hast so wie in der Anleitung gefordert.
Wobei die Bilder ins selbe Verz. abgelegt werden in dem auch das Skript liegt.
Und, wie kann das Skript einen Fehler in Line 101 haben, es hat doch original nur 37 Zeilen ?
____________________________________
Nordick-Wogging
Dumm-ness boomt
Ihr Fengshui Berater
Eurofighter abfangen !
allwissende Müllhalde 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 11:53 Uhr.


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