daten an php und dann soll das gespeichert werden
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anzeige
array
code
dank
datei
destination
fehler
file
format
funktion
hilfe
http
import
inhalt
ordner
pfad
referenz
text
type
url
-
hallo!
also, naja, ich kann ja nix in php machen, aber ich brauch mal was in php
also, ich hab im netz einen code gefunden, der in ungefähr wiederspiegeln sollte, was bei meinem upload bei der php ankommt
if ($_FILES["file"]["error"] > 0) { echo "Error: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Stored in: " . $_FILES["file"]["tmp_name"]; }
was ich allerdings nicht gefunden hab ist ein code, der mir diese sachen in einen ordner verschiebt, sodaß ich dann am ende eine datei habe - wie ist denn da der befehl? gibt es den überhaupt?
danke für irgendwelche hilfe
edit
hab das gesammte dilemma mit meinem as-code mal bei adobe eingestellt http://forums.adobe.com/thread/476577
Beitrag zuletzt geändert: 13.8.2009 1:44:21 von sonok -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo sonok,
die hochgeladene Datei kannst du mit dieser Funktion aus dem temp Ordner verschieben:
bool move_uploaded_file ( string $filename , string $destination )
Diese Funktion hat 2 Parameter:
der Dateiname im temp-Ordner (tmp_name) und$filename
also dem Zielordner+Dateiname.$destination
Eingebaut in deinen Code:
if ($_FILES["file"]["error"] > 0) { echo "Error: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Stored in: " . $_FILES["file"]["tmp_name"] . "<br />"; $move = move_uploaded_file($_FILES["file"]["tmp_name"], "./uploads/".$_FILES["file"]["name"]); if($move == true) echo "erfolgreich hochgeladen"; else echo "Fehler beim hochladen"; }
Die Datei wird jetzt mit dem gleichen Dateinamen wie die ursprüngliche Datei in den ordner ./uploads verschoben. (Relativ zum ausführenden Skript, also in diesem Fall als ordner im gleichen Ordner wo sich das Skript befindet)
Der Ordner sollte schon existieren und auch die richtigen Dateiberechtigungen (chmod), also schreibrechte für den webserver haben.
Anschliesend wird noch eine Meldung über erfolg/misserfolg des verschieben ausgegeben.
ACHTUNG: Sofern eine Datei mit gleichem Namen schon existiert, wird sie überschrieben. -
danke!
ich erlaube mir mal, den code zu copieren und zu verwenden mal gucken ob da was ankommt
hm, ich gehe mal davon aus, daß hier
"./uploads/".$_FILES["file"]["name"])
der punkt vor dem ersten slash sagt, daß das verzeichnis ab hier ist, wo die php liegt
edit
ach ja, die dateiberechtigung ist 0777? also so hab ich den ordner mal mit mkdir (asdf,0777) angelegt
edit 2
hm, hab wohl einen fehler in der flash
naja, wenn man eine datei hochladen will, dann ist doch der pfad zum upload mit der php (in meinem fall)
"http://sonok.lima-city.de/sonok_12/interaktiver_datenlader.php"
oder ist das dann so ein verdrehtes ding wie die pfadangabe zur passwort-schlüsseldatei bei den .htacces-datein?
Beitrag zuletzt geändert: 13.8.2009 2:00:53 von sonok -
kein problem!
Der . steht für den aktullen Pfad. Könnte man auch wecklassen.
.. würde für den übergeordnete Pfad stehen.
Mehr Dazu bei google oder zb auch selfhtml
http://de.selfhtml.org/html/allgemein/referenzieren.htm#relativ
http://docs.sun.com/app/docs/doc/816-3937/6ma6dimnr?l=de&a=view#filemanager-9
zu edit:
also 0664 dürfte auch schon ausreichen. Mit 0777 geht das aber schon auch in Ordnung
zu edit2:
Der Pfad zur php Datei ist ein ganz normaler wie man ihn auch beim action attribut eines HTML Formulars angeben würden, oder über den Browers aufruft. Es ist nicht der absolute Pfad im Dateisystem.
btw Das Dateiauswahl Feld muss den Namen "file" haben (in diesem Fall). Kannst du aber auch im Skript ändern.
$_FILES["name_des_dateiauswahl_feldes"][....]
-
das $FILES[uswusf] erstellt die auswahl-funktion glaub ich selber, von flash wird ein komplettes array übertragen und dann im php ausgewertet. so hab ich das zumindest in der programm-hilfe und auf diversen tutorial-seiten verstanden.
naja, dann hab ich wohl oder übel einen dicken fehler im flash-code. ich hoff mal die helfen mir weiter bei adobe. vielleicht mag das zeug ja keine arrays zur einspeisung ... naja.
aber vielen dank! -
hmm, also sofern du den Namen des Feldes nicht weist (und er immer gleich bleibt) kannst du dir mal mit
echo "<pre>".print_r($_FILES, 1)."</pre>";
das ganze Files Array ausgeben lassen und dir dann den richtigen namen raussuchen.
Sofern dieser sich dauernd ändert wäre das irgendwie ungeschickt von Flash
Naja dann gäbe es aber auch eine lösung mit php.
btw sofern du das $_FILES["namen..asdasd"] ändernst: -> Überall ändern
bzw im code einfach davor einfügen:
das <pre> tag ist praktisch -> im browser besser lesbar, da die \n als Zeilenumbrüche formatiert werden
echo "<pre>".print_r($_FILES, 1)."</pre>"; if ($_FILES["file"]["error"] > 0) { echo "Error: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Stored in: " . $_FILES["file"]["tmp_name"] . "<br />"; $move = move_uploaded_file($_FILES["file"]["tmp_name"], "./uploads/".$_FILES["file"]["name"]); if($move == true) echo "erfolgreich hochgeladen"; else echo "Fehler beim hochladen"; }
Beitrag zuletzt geändert: 13.8.2009 2:27:53 von dussel -
hm, ich hab jetzt den kompletten code aus der hilfe von flash übernommen, da wird einfach nix angezeigt im ordner, andererseits bekomme ich aber auch keinerlei fehlermeldung
hm, ich wechsel mal den thread-inhalt, vielleicht kann das dann jemand einfach mal in den flash-bereich packen weil ich da jetzt den schwerpunkt hintu
vielleicht kann mir jemand sagen, wo der flash-fehler ist? ich finde ihn nicht, das uploaden geht, die byts werden gezählt, alles wunderbar
package scripte { import flash.display.*; import flash.text.*; import flash.events.*; import flash.filters.*; import flash.net.*; public class FensterHochladen extends Sprite { // ÜBERGREIFEND private var array_format:Array; public var anzeige:Sprite=new Sprite ; // MANAGER-FENSTER KLEIN public var text_upload:Array; // MANAGER-FENSTER UPLOAD public var referenzen:Array=new Array ; public var text_wahl:Array; public function FensterHochladen(formate:Array) { // FORMATE DEFINIEREN array_format=formate; text_upload=new Array(new Textbox("Datei-Upload",25,10,-3,array_format,0),new Textbox("Hinzufügen einer Datei ...",35,30,-3,array_format,0),new Textbox("... und los geht's!",35,45,-3,array_format,0)); text_upload[1].inhalt.addEventListener(MouseEvent.CLICK,DateiAuswahl); text_upload[2].inhalt.addEventListener(MouseEvent.CLICK,DateiLaden); anzeige.addChild(text_upload[0].inhalt); anzeige.addChild(text_upload[1].inhalt); anzeige.addChild(text_upload[2].inhalt); } private function DateiAuswahl(event:MouseEvent):void { referenzen.push(new FileReference()); referenzen[0].addEventListener(Event.SELECT,DateiLaden); referenzen[0].addEventListener(ProgressEvent.PROGRESS,progressHandler); referenzen[0].addEventListener(Event.COMPLETE,completeHandler); referenzen[0].browse(); } private function DateiLaden(event:Event):void { trace(referenzen[0].name); var request:URLRequest=new URLRequest("http://sonok.lima-city.de/sonok_12/undhieristdanndiephp.php"); try { referenzen[0].upload(request); } catch (error:Error) { trace("Unable to upload file."); } } private function progressHandler(event:ProgressEvent):void { text_upload[2].inhalt.text=event.bytesLoaded / 1024 + " " + event.bytesTotal; } private function completeHandler(event:Event):void { text_upload[2].inhalt.text="fertig"; } } }
-
Lt. Aussage des Threaderstellers wurde das Problem in folgenden Thread gelöst: http://www.lima-city.de/thread/echo-ausgabe-des-php-scripts-beim-upload-mit-flash-as3
Auf Wunsch:
*CLOSED*
Bei Rückfragen PN an mich. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage