-
Upload d'image
bonjour,
je veux savoir comment réaliser une transaction avec PHP qui englobe une requéte au base de donnée et une instruction d'upload des images dans un dossier(j'ai déjà réalisé les 2 actions mais séparément, maintenant je veux garder la cohérence entre ma base de donnée ainsi que les images que je viens d'uploader dans mon dossier).
si vous avez de réponse vous pouvez me donner un exemple avec une simple instruction php et une petite requête sql pour comprendre le fonctionnement,
et merci d'avance pour vos réponses.
-
Tu as juste à insérer dans ta base, le nom de fichiers non ?
-
parmi les champs a inséré dans la base le nom du fichier, et je veux garder la correspondance entre les noms des fichiers dans le dossier d'upload et le champ de ma base
-
De quel champ dans ta base parles tu ?
-
lorsque je vais uploader le fichier dans le dossier qui s'appelle upload, je vais au même temps envoyer une requête d'insertion contenant le nom du fichier uploadé. ma question c'est ce que possible de mettre ces 2 actions(upload de fichier et insertion dans la bd) dans une transaction.
-
Qu'est ce que tu appelles une transaction ?
-
moi je veux tout simplement assurer l'insertion dans la base de donnée avec l'upload de l'image(soit ils s'exécute tous les 2 soit ils s'annulent tous les 2), c'est un peu comme les transactions qu'on trouve dans les SGBD entre plusieurs instructions sql.
-
au moment ou tu fais ton INSERT tu sais deja si tu as bien recu le fichier ou non.
si l'INSERT rate, tu peux toujours supprimer le fichier.
-
bonjour,
tout d'abord je vous remercie pour votre intérêt.
en ce qui concerne la solution que t'as donnée, j'ai déjà pensé a utilisé mais j'ai pas tés convaincu, je trouve que c'est pas pratique de procéder comme ça,
et si on a plusieurs instructions qu'on doit exécutées à la fois sauf qu'il y a une erreur au niveau de la dernière on va tous annulées ou quoi :?, on risque toujours d'avoir une incohérence dans l'application.
en fait les langages de programmation comme pour VB.Net possède ces propres transactions où on peut rassembler plusieurs instruction dans un même blog
-
De quoi tu parles la ? du code php ou de la base de donnée ?
C'est quoi "plusieurs instructions qu'on doit exécutées à la fois" ?
-
'plusieurs instructions' ça veut dire des requêtes sql et des instructions propre au langage de programmation(comme l'exemple d'upload d'image avec l'insertion dans la base de donnée).
-
et en .net si tu mets la copie/renommage d'un fichier dans ta transaction et que tu fais un rollback, il remet le fichier ou il etait ?
-
apparemment oui, mais je n'ai jamais essayé, logiquement n'importe quel instruction qui entre dans la transact est annulée après un rollback et confirmé ou bien non annulé après un commit.
-
déjà aucune action n'est exécuté qu'après la vérification de toutes les autres qui entre dans la transact (l'exécution proprement dite ne ce fait qu'après le COMMIT).