02. marts 2005 - 21:03Der er
25 kommentarer og 1 løsning
Uploade tekst til ftp fra flash?!
Bonjour mes monsieurs...
Faktisk ved jeg ikke om der er en meget enkel løsning på mit problem, men i korte træk går det ud på at jeg skal have uploaded noget tekst fra en tekstboks, til min ftp server.
Det skulle meget gerne blive sådan at når man trykker upload (se link) så uploader flash teksten i *.txt format til en given server og overskriver filer der i forvejen ligger der (med samme navn).
Så er det vel heller ikke mere besværligt? Du skal bare lave stort set det hele med serverside scripting, for som Barklund korrekt siger, kan du ikke med ftp. Du poster dit indhold til en asp/php-fil, der åbner din tekstfil og skriver til den. ...at du så ikke i stedet vil bruge en database går imidlertid hen over hovedet på mig.
Teksten kan du poste til serverside scriptet via Flash' LoadVars objekt. Er du på herrens mark, så giv lyd.
Jaok, hvis det bare er tekst, så er det sådan set nemt nok. Jeg tænkte mere på, at det var reelle filer, der skulle op og ned fra den lokale computer til serveren.
Ja, fysiske filer holder ingen steder. Men det ser ud som om altschuler bare ønsker at gemme noget tekst fra sin applikation? Og det er jo ikke verdens mest vanskelige opgave.
Til gengæld er der ingen sikkerhed for, hvad der ligger i filen, da hvem som helst kan gemme ting i denne fil - bare ved at poste til den aktuelle php-fil.
sikkerheden betyder ikke rigtig noget ;). Men jeg skla lige se om jeg forstår det her korrekt:
Det første stykke kode putter jeg f.eks. i min upload knap og så laver jeg en php-fil som jeg lægger i samme mappe (på en server som understøtter php).
Og så kommer tekst filen til at ligge som fil.txt der hvor php filen ligger eller hvad? for jeg har en masse mapper de skal ligges ind i osv, så kan man f.eks. skrive:
Så du har mange forskellige filer - så propper vi lige stien med i funktionaliteten:
var gem_txt = new LoadVars(); gem_txt.path= "mappe1/mappe2/"; gem_txt.filename = "fil"; gem_txt.content = "Her er en tekst, der kommer i en tekstfil"; gem_txt.sendAndLoad("save_txt.php", "POST");
Og i PHP (indholdet af en fil med navnet save_txt.php i samme mappe som din html og din swf):
Der er oprettet en mappe kaldet "books", og en undermappe til denne kaldet "drama", i mappen hvor PHP, HTML og swf filen også ligger.
Når man så trykker Upload regner jeg med at det er meningen at systemet burde oprette en fil kaldet ej.txt i /books/drama. Men det virker tilsyneladende ikke :S
Jeg får denne meddelse når jeg prøver at kalde filen direkte:
Fatal error: Call to undefined function: file_put_contents() in /home/web/gb0642/bavianfan.dk/save_txt.php on line 2
Og nu ser min php fil også ud som du forslog, men skal jeg så ikke rette linien: " gem_txt.sendAndLoad("save_txt.php", "POST");" i flash til: "gem_txt.sendAndLoad("save_txt.php", "REQUEST");"
Warning: fopen(): open_basedir restriction in effect. File(/books/dramaej.txt) is not within the allowed path(s): (/home/web/gb0642:/var/tmp:/usr/local/lib/php) in /home/web/gb0642/bavianfan.dk/save_txt.php on line 2
Warning: fopen(/books/dramaej.txt): failed to open stream: Operation not permitted in /home/web/gb0642/bavianfan.dk/save_txt.php on line 2
Warning: fwrite(): supplied argument is not a valid stream resource in /home/web/gb0642/bavianfan.dk/save_txt.php on line 3
Warning: fclose(): supplied argument is not a valid stream resource in /home/web/gb0642/bavianfan.dk/save_txt.php on line 4
Hmmm, jeg har sådan set stadigvæk et temlig stort problem. Jeg troede det hele virkede for jeg kan godt ændre på filen direkte ved at skrive i browseren. Men det virker ikke fra flash filen.
Jeg har følgende kode til at gøre arbejdet:
var gem_txt = new LoadVars(); gem_txt.path= "books/drama/"; gem_txt.filename = "ej"; gem_txt.content = _root.txt.text gem_txt.sendAndLoad("save_txt.php", "POST");
Så vidt jeg kan se burde der ikke være noget galt, men det virker bare ikke :S
Jeps, det er lidt mere overksueligt :) dog lavede jeg "null" om til "gem_txt" igen, ellers virkede det ikke...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.