Image a partir d'une chaine de caratère?

Fermé
Eliaos08 - Modifié par Eliaos08 le 14/04/2016 à 12:01
 Eliaos08 - 14 avril 2016 à 16:43
Bonjour à tous ,

Voila mon problème je souhaite envoyer une image à partir de mon application téléphone sur mon serveur. Ainsi dans des variables $_POST je récupère le nom du fichier et son contenu :

$_POST['NomFichier']; // test.jpg
$_POST['ContenuImageEnOctet']; //contenu de l'image test.jpg 451987 octets

$fp = fopen($_POST['NomFichier'], "wb"); // je prépare a créer test.jpg
fwrite($fp,$_POST['ContenuImageEnOctet']); // j'écris dans test.jpg les octets
fclose($fp);

Malheureusement j'ai bien un fichier qui est créée sur le serveur test.jpg mais le contenu n'est que de 270 octets et l'image n'est pas bonne, logique... comme si il y avait des caractères qui bloquaient l'écriture.

Avez vous une idée de comment faire pour tout récupérer ? et si c'est possible ? ^^
Merci d'avance

(je précise j'envois ces données sur mon site internet à partir de mon téléphone)

1 réponse

Utilisateur anonyme
14 avril 2016 à 12:32
La récupération de fichiers se fait via $_FILE et non $_POST

https://www.php.net/manual/fr/features.file-upload.post-method.php
1
ça ne m'aide pas beaucoup mais merci d'avoir répondu
0
Utilisateur anonyme
14 avril 2016 à 13:29
Le site donne des explications, un exemple du formulaire html, 2 exemples de script côté php + les commentaires qui donnent aussi des exemples.

Si ça ne t'aide pas qu'est ce qui t'aidera ?
0
je sais upload un fichier ou image via formulaire c'est facile mais sans formulaire je ne trouve rien je vais chercher
0
Utilisateur anonyme
14 avril 2016 à 15:57
Sans formulaire ? what ? Tu veux faire quoi au juste ?
0
à partir de mon téléphone via une application je fais une requète http dedans j'indique qu'il faut aller sur une page de mon site test.php avec des variables le nom de l'image (test.jpg) et son contenu en octet. j'ai essayé

$base=$_REQUEST['ContenuImageOctet'];
$binary=base64_decode($base);
header('Content-Type: bitmap; charset=utf-8');
$file = fopen($_POST['nomfichier'], 'wb');
fwrite($file, $binary);
fclose($file);

mais je perds quand même un morceau (plus petit mais bon) ^^
0