2010-06-09 8 views
0

J'essaie de prendre une variable envoyée à partir de flash, et l'enregistrer sur un point sur mon serveur web en utilisant PHP, je n'ai aucune idée de comment faire cela, et je ne peux pas sembler pour trouver du code qui fonctionne n'importe où sur le web, toute aide serait grandement appréciée, merci!Enregistrement d'un jpeg avec PHP envoyé par flash

+0

Voulez-vous dire un produit spécifique par "envoyé à partir de Flash", SWFUpload par exemple? Il existe différentes manières d'envoyer un fichier à partir de Flash, et le bon moyen de les recevoir diffère en conséquence. Plus d'infos s'il vous plaît. –

+0

... ou écrivez-vous un actionScript qui doit communiquer avec un serveur exécutant php? – baloo

+0

un byteArray est envoyé sous forme de jpeg, il est envoyé via POST. Je suis en train d'essayer de sauvegarder un fichier jpeg dans mon dossier d'images sur mon hébergeur afin que je puisse l'obtenir et le télécharger dans une galerie facebook. – Odyss3us

Répondre

0

Je finalement ai appris à travailler avec ce code,

if (isset ($GLOBALS["HTTP_RAW_POST_DATA"])) { 

    $im = $GLOBALS["HTTP_RAW_POST_DATA"]; 

    $fp = fopen($_GET['name'], 'wb'); 
    fwrite($fp, $im); 
    fclose($fp); 

    echo "result=".$_GET['name']; 

} else echo 'result=An error occured.'; 

Merci à tous ceux qui ont affiché et m'a aidé à obtenir ce travail!

1
$my_value = $_REQUEST['my_variable_name']; 
file_put_contents('path/to/file.jpg', $my_value, FILE_APPEND | LOCK_EX); 

Je ne sais pas ce que vous entendez par byteArray, de toute façon si vous pouvez traiter comme données brutes à partir jpeg, alors vous pouvez le saisir en une seule fois et l'enregistrer dans un fichier. En fait, vous pouvez le faire avec une ligne de code avec

file_put_contents('path/to/file.jpg', $_POST['my_variable_name'], FILE_APPEND | LOCK_EX); 
+0

Thax pour la réponse, il semble écrire le fichier à l'emplacement spécifié, mais il est vide, la taille du fichier est 0kb, une idée sur ce qui pourrait causer cela? – Odyss3us

+0

Eh bien, si le répertoire est accessible en écriture, cela signifie que $ _POST ['my_variable_name'] 'ne retourne rien. Changez POST en GET dans le code et testez-le avec des paramètres sur l'URL pour vérifier s'il écrit réellement dans le fichier s'il reçoit des données. Par exemple. 'http: //host.com/jpg_maker.php? my_variable_name = test' et ensuite dans le fichier, vous devriez avoir' test' –

+0

J'ai essayé cela, et il a créé un fichier appelé test.jpg sur mon serveur web, mais il est toujours vide. J'ai juste essayé d'ajouter des en-têtes au code pour demander un téléchargement, et cela semble fonctionner, mais j'en ai besoin pour enregistrer automatiquement, désolé d'être dérangé, mais merci pour l'aide! – Odyss3us

Questions connexes