Uploader un fichier puis le compiler pour le copier dans la bdd
cs_margin
Messages postés13Date d'inscriptionsamedi 5 février 2005StatutMembreDernière intervention 3 avril 2006
-
30 avril 2005 à 18:44
cs_margin
Messages postés13Date d'inscriptionsamedi 5 février 2005StatutMembreDernière intervention 3 avril 2006
-
7 mai 2005 à 23:43
Bonjour,
Je dois uploader des fichiers de type images dans une zone
d'administration. D'habitude, j'ai les droits en écriture.. et je copie
le fichier dans le bon répertoire, avec le bon nom.... tout ça, tout
ça...
Le problème est que je n'ai pas le droit de copier le fichier dans un répertoire du site pour des questions de droits en écriture et de sécurité. Je
dois donc encoder le fichier en "binaire" (c'est ce qu'on m'a dit de
faire). Comment on fait pour décompiler un fichier sour la forme d'un code, que je pourrais copier dans la bdd (mysql), puis comment je le recompile pour l'afficher dans la page de visualisation de l'image?
voià,
j'espère que ma question est compréhensible, que j'ai utiliser le bon vocabulaire et que vous pourrez m'aider,
merci d'avance,
A voir également:
Uploader un fichier puis le compiler pour le copier dans la bdd
mysql_query("INSERT INTO photo
photo_binaire,photo_nom,photo_taille,photo_type) VALUES
('$contenu','$nom','$taille','$type')");
}
conclusion : ok ça a bien été enregistrer dans la base.
2 - affichage :
//dans la zone où je veux afficher
//avant j'ai ouvert ma base
$resultat=mysql_query("SELECT * FROM photo ORDER photo_id DESC LIMIT 0, 1");
$ligne=mysql_fetch_array($resultat);
echo "l'image : ";
3 - dans le fichier affiche.php :
//le même select puis
$image=$ligne['photo_binaire'];
$file = fopen("fichier_tmp.tmp", "w+");
fwrite($file, $image);
$pipe = popen("fichier_tmp.tmp", "r");
fclose($file);
conclusion : l'appel a cette page ouvre une fenêtre de téléchargement
pour afficher l'image. Donc l'image existe, mais je n'arrive pas à
l'intégrer dans ma page
solution 2 avec un encodage en base 64 :
1- enregistrement à l'identique de la version fwrite, seul changement :