kostenloser Webspace werbefrei: lima-city


daten an php und dann soll das gespeichert werden

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    hallo!

    also, naja, ich kann ja nix in php machen, aber ich brauch mal was in php :frown:

    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 :wave:

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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:
    $filename
    der Dateiname im temp-Ordner (tmp_name) und
    $destination
    also dem Zielordner+Dateiname.

    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.
  4. Autor dieses Themas

    sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    danke!

    ich erlaube mir mal, den code zu copieren und zu verwenden :smile: 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

    :wave:

    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 :mad:

    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? :wow:

    Beitrag zuletzt geändert: 13.8.2009 2:00:53 von sonok
  5. 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"][....]
  6. Autor dieses Themas

    sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    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!
  7. 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 :wink:
    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
  8. Autor dieses Themas

    sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    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 :mad:

    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 :frown:

    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";
    		}
    	}
    }
  9. thoba

    Co-Admin Kostenloser Webspace von thoba

    thoba hat kostenlosen Webspace.

    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.
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!