Ajout photos sur site en ligne par un admin
Résolu
necro27
Messages postés
160
Date d'inscription
Statut
Membre
Dernière intervention
-
libassed Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
libassed Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je présente rapidement le contexte :
Je suis en stage qui a comme objet le développement d'un site internet dynamique.
Le site possède une authentification des membres.
Sur ce site je voudrais, entre autre, inclure une galerie photos. Ces photos devront être changeables sur le profil administrateur.
(Exemple fictif, on considère que les noms de variables et noms des champs dans la base de données ne contiennent pas d'erreur. C'est juste pour imager ce que je recherche.)
Pour ce que j'ai l'habitude de faire :
--> je stock dans ma base de données en local (phpmyadmin) l'adresse de la photo "photos\image1.jpg" sous le format string.
--> dans le code php j'appelle l'adresse de la photo
--> par l'intermédiaire de filezilla, je met en ligne sur mon hébergeur les pages de code (*.php, *.htm, ..)
--> J'importe la base de données en ligne grâce au fichier texte exporté depuis ma base de données en local.
--> Voilà j'ai donc mon site qui fonctionne correctement, les photos qui s'affichent où je veux etc...
Si je veux changer une image, du fait que l'adresse soit stockée dans la base de données, je n'ai qu'à changer le contenu de la base de données, ainsi sur l'emplacement en question sur le site la photo changera. Bien sûr je doit également mettre la nouvelle photo en ligne par l'intermédiaire de filezilla dans le dossier approprié.
Là est mon problème :
Dans le cas présent, l'administrateur est une personne qui doit pouvoir tout faire depuis le site. La réalisation d'un formulaire sur le site permettant de changer l'adresse directement sur la base de données est une solution. Mais comment faire pour mettre la photo en ligne :/
Autrement dit comment faire, en utilisant uniquement le site internet, pour faire quelque chose de similaire à une transmission de la photo.
Je suis au courant que phpmyadmin peut contenir une photo en dure en binaire, mais je suis également au courant que c'est déconseillé.
Si certaines personnes pourrait m'informer d'une démarche à suivre, cela serait cool.
Je suis complètement perdus je l'avoue, il faudrait trouver un moyen pour se connecter via le site a filezilla et insérer la photo dans le dossier adéquate.. Je pense bien que c'est impossible, je recherche donc une solution dont l'idée est similaire.
Merci de vos réponses, conseils, et n'hésitez pas à critiquer la démarche que j'effectue pour la mise en ligne, c'est en faisant des erreurs que l'on apprend.. où du moins on essai.
Merci :)
necro27
Je présente rapidement le contexte :
Je suis en stage qui a comme objet le développement d'un site internet dynamique.
Le site possède une authentification des membres.
Sur ce site je voudrais, entre autre, inclure une galerie photos. Ces photos devront être changeables sur le profil administrateur.
(Exemple fictif, on considère que les noms de variables et noms des champs dans la base de données ne contiennent pas d'erreur. C'est juste pour imager ce que je recherche.)
Pour ce que j'ai l'habitude de faire :
--> je stock dans ma base de données en local (phpmyadmin) l'adresse de la photo "photos\image1.jpg" sous le format string.
--> dans le code php j'appelle l'adresse de la photo
img src="<?php echo $_ligne['adresseimage.jpg']; ?>">
--> par l'intermédiaire de filezilla, je met en ligne sur mon hébergeur les pages de code (*.php, *.htm, ..)
--> J'importe la base de données en ligne grâce au fichier texte exporté depuis ma base de données en local.
--> Voilà j'ai donc mon site qui fonctionne correctement, les photos qui s'affichent où je veux etc...
Si je veux changer une image, du fait que l'adresse soit stockée dans la base de données, je n'ai qu'à changer le contenu de la base de données, ainsi sur l'emplacement en question sur le site la photo changera. Bien sûr je doit également mettre la nouvelle photo en ligne par l'intermédiaire de filezilla dans le dossier approprié.
Là est mon problème :
Dans le cas présent, l'administrateur est une personne qui doit pouvoir tout faire depuis le site. La réalisation d'un formulaire sur le site permettant de changer l'adresse directement sur la base de données est une solution. Mais comment faire pour mettre la photo en ligne :/
Autrement dit comment faire, en utilisant uniquement le site internet, pour faire quelque chose de similaire à une transmission de la photo.
Je suis au courant que phpmyadmin peut contenir une photo en dure en binaire, mais je suis également au courant que c'est déconseillé.
Si certaines personnes pourrait m'informer d'une démarche à suivre, cela serait cool.
Je suis complètement perdus je l'avoue, il faudrait trouver un moyen pour se connecter via le site a filezilla et insérer la photo dans le dossier adéquate.. Je pense bien que c'est impossible, je recherche donc une solution dont l'idée est similaire.
Merci de vos réponses, conseils, et n'hésitez pas à critiquer la démarche que j'effectue pour la mise en ligne, c'est en faisant des erreurs que l'on apprend.. où du moins on essai.
Merci :)
necro27
A voir également:
- Ajout photos sur site en ligne par un admin
- Partager photos en ligne - Guide
- Site de telechargement - Accueil - Outils
- Site comme coco - Accueil - Réseaux sociaux
- Quel site remplace coco - Accueil - Réseaux sociaux
- Site de vente en ligne particulier - Guide
7 réponses
Bon tout dabord les scripts dont je parle vont faire partie de ton site tu va les mettres en ligne par l'intermediaire de filezilla comme t'a dit dans ton premier post
et tu les tests dabord en local ensuite si tout marche tu mets en ligne !!
tu met le chemin de la photos dans ta base de données que tu as récupéré par un formulaire par la requete SQL
INSERT INTO ( ca tu peux faire :))
maintenant tu procederas comme ta dit ici : "
--> dans le code php j'appelle l'adresse de la photo
img src="<?php echo $_ligne['adresseimage.jpg']; ?>">"
Et pour mettre les photos dans ton serveur :
tu creer une page php ou html (par exemple put_photo.php) contenant ceci
ensuite tu creer sa page du action (action="upload.php") donc la page upload.php contenant ceci:
ce code la copie l'image que tu auras choisi dans le dossier photos de ton serveur(si je dis ton serveur c-a-d si c en local dans ton repertoire www ou si tu a heberger dans ton dossier photos)
apres ca tu auras qu'a appeler l'image avec son addresse que t'avais déja mis au paravant dans ta base de donnée
# Fais pas attention aux fautes d'orthographe amicalement libassed !!
et tu les tests dabord en local ensuite si tout marche tu mets en ligne !!
tu met le chemin de la photos dans ta base de données que tu as récupéré par un formulaire par la requete SQL
INSERT INTO ( ca tu peux faire :))
maintenant tu procederas comme ta dit ici : "
--> dans le code php j'appelle l'adresse de la photo
img src="<?php echo $_ligne['adresseimage.jpg']; ?>">"
Et pour mettre les photos dans ton serveur :
tu creer une page php ou html (par exemple put_photo.php) contenant ceci
<form enctype="multipart/form-data" action="upload.php" method="post"> <input type="file" name="foto"> <input type="submit" value="uploader"> </form>
ensuite tu creer sa page du action (action="upload.php") donc la page upload.php contenant ceci:
<?php // le fichier upload.php et ton repertoire photos doivent etre dans le meme repertoire sinon mais le bon chemin vers photos if(move_uploaded_file($_FILES['fichier']['tmp_name'],"photos/".$_FILES['fichier']['name'])){ echo " uplaod réussi ^^ "; } else echo " echec de l'uplaod ! "; exit(); // tu peux faire la redirection vers une autre page avec header("location:autre_page.php"); ?>
ce code la copie l'image que tu auras choisi dans le dossier photos de ton serveur(si je dis ton serveur c-a-d si c en local dans ton repertoire www ou si tu a heberger dans ton dossier photos)
apres ca tu auras qu'a appeler l'image avec son addresse que t'avais déja mis au paravant dans ta base de donnée
# Fais pas attention aux fautes d'orthographe amicalement libassed !!
Salut necro27 je te conseille dans ton cas de :
1- faire le script qui ajoute dans ta base de donnée l'addresse de l'image (je crois ke tu la déja fait)
2- fait un script qui upload directement les photos depuis l'interface d'administration de ton site vers un des repertoires de ton choix ()
NB: Le tout peut etre sur un meme formulaire
c'est a dire ->
fournir le champ nom de la photo
le titre
et la photo elle meme grace a <input type="file" name="photo">
étant pas un as de l'explication j'espere t'avoir un peu guider sur le sujet !! :)
1- faire le script qui ajoute dans ta base de donnée l'addresse de l'image (je crois ke tu la déja fait)
2- fait un script qui upload directement les photos depuis l'interface d'administration de ton site vers un des repertoires de ton choix ()
NB: Le tout peut etre sur un meme formulaire
c'est a dire ->
fournir le champ nom de la photo
le titre
et la photo elle meme grace a <input type="file" name="photo">
étant pas un as de l'explication j'espere t'avoir un peu guider sur le sujet !! :)
Salut libassed, merci de te pencher sur le problème.
Pour le "1-" je vois bien la marche à suivre mais pour le "2-" je bloque :/
Je précise que je suis un tantinet novice en programmation, je m'y met progressivement ^^
Donc si je comprend bien grâce à mon formulaire :
--> je peut créer un script via mon formulaire.
--> celui-ci contiendra donc les photos, ou adresses ?
--> lorsque tu parle d'un répertoire de mon choix, tu veux parler, pour mon cas, d'un répertoire se situant sur filezilla? ou cela reste un répertoire en local?
Je suis un peu perdu sur les moyens de faire notamment après être tombé sur la fameuse librairie GB.
(https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916429-creez-des-images-en-php
Donc la moindre information m'intéresse, aussi précise puisse telle être, tan pi si je passe pour un inculte^^
Pour le "nb", le ( <input type="file" name="photo"> ), c'est donc ce qui permet de mettre en script ce que tu parlai en "2-" ?
J'espère ne pas te faire peur avec les informations que je demande, je m'avoue casse-pied..
Merci en tout cas beau coup pour tes réponses, je continu de me documenter sur le net, en prenant en compte tes conseil.
Bon appétit au passage, merci.
Pour le "1-" je vois bien la marche à suivre mais pour le "2-" je bloque :/
Je précise que je suis un tantinet novice en programmation, je m'y met progressivement ^^
Donc si je comprend bien grâce à mon formulaire :
--> je peut créer un script via mon formulaire.
--> celui-ci contiendra donc les photos, ou adresses ?
--> lorsque tu parle d'un répertoire de mon choix, tu veux parler, pour mon cas, d'un répertoire se situant sur filezilla? ou cela reste un répertoire en local?
Je suis un peu perdu sur les moyens de faire notamment après être tombé sur la fameuse librairie GB.
(https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916429-creez-des-images-en-php
Donc la moindre information m'intéresse, aussi précise puisse telle être, tan pi si je passe pour un inculte^^
Pour le "nb", le ( <input type="file" name="photo"> ), c'est donc ce qui permet de mettre en script ce que tu parlai en "2-" ?
J'espère ne pas te faire peur avec les informations que je demande, je m'avoue casse-pied..
Merci en tout cas beau coup pour tes réponses, je continu de me documenter sur le net, en prenant en compte tes conseil.
Bon appétit au passage, merci.
Je reviens seulement de pause déjeuner, fonctionnaire oblige !! ;)
Merci pour cette réponse précieuse, je m'en occupe dès maintenant, et pour les fautes d'orthographes, personne n'est parfait, moi le premier :)
Je te tiens au courant, et m'occuperai du statut de mon message en fonction, encore merci c'est vraiment sympathique de ta part.
Au fait !! je viens d'y songer, j'en profite pour revenir sur un ancien message, puisque tu me parle du header('location:page.php'), auquel personne n'a répondu :(
Je te met le lien ci-dessous au cas où tu ne l'aurais pas vu, mais ce n'est pas une obligation surtout ! merci d'avance si tu pouvais y jeter un oeil ^^
(https://forums.commentcamarche.net/forum/affich-17928331-redirection-pages-messages-d-avertissements
Bon je retourne sur mes photos mdr
Encore merci !
Necro27
Merci pour cette réponse précieuse, je m'en occupe dès maintenant, et pour les fautes d'orthographes, personne n'est parfait, moi le premier :)
Je te tiens au courant, et m'occuperai du statut de mon message en fonction, encore merci c'est vraiment sympathique de ta part.
Au fait !! je viens d'y songer, j'en profite pour revenir sur un ancien message, puisque tu me parle du header('location:page.php'), auquel personne n'a répondu :(
Je te met le lien ci-dessous au cas où tu ne l'aurais pas vu, mais ce n'est pas une obligation surtout ! merci d'avance si tu pouvais y jeter un oeil ^^
(https://forums.commentcamarche.net/forum/affich-17928331-redirection-pages-messages-d-avertissements
Bon je retourne sur mes photos mdr
Encore merci !
Necro27
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon j'ai pris un peu de retard, pc en carton, tout a planté ^^. Et non c'est pas ma faute !
Bref, passons ^^
Alors j'ai bien mis en forme tout ce que tu m'as écrit.
Néanmoins quelques questions subsistes :
--> "fichier" & "tmp_name" sont bien des nom que je doit remplacer ? où ce sont une sorte de noms réservés tels que "$_FILES" etc..
Si les remplacer je dois (^^), je mettrais donc fleur.jpg à la place de "fichier" si l'image se nomme ainsi ? Mais pour "tmp_name" ? je ne vois pas la signification :/
J'essaye de bien cerner le fonctionnement de ce code.
Pour le reste c'est bon j'ai bien compris la concaténation.
Je pense avoir d'autre questions mais je pense également, oui ça m'arrive souvent de penser, que ta réponse répondra à toutes mes questions.
Je ne te le dirai pas mais je le pense, Merci (afin d'éviter une chaîne sans fins de merci, de rien)
Oui je sais, parler pour rien dire est ma devise....
necro27
Bref, passons ^^
Alors j'ai bien mis en forme tout ce que tu m'as écrit.
Néanmoins quelques questions subsistes :
if(move_uploaded_file($_FILES['fichier']['tmp_name'],
--> "fichier" & "tmp_name" sont bien des nom que je doit remplacer ? où ce sont une sorte de noms réservés tels que "$_FILES" etc..
Si les remplacer je dois (^^), je mettrais donc fleur.jpg à la place de "fichier" si l'image se nomme ainsi ? Mais pour "tmp_name" ? je ne vois pas la signification :/
J'essaye de bien cerner le fonctionnement de ce code.
Pour le reste c'est bon j'ai bien compris la concaténation.
Je pense avoir d'autre questions mais je pense également, oui ça m'arrive souvent de penser, que ta réponse répondra à toutes mes questions.
Je ne te le dirai pas mais je le pense, Merci (afin d'éviter une chaîne sans fins de merci, de rien)
Oui je sais, parler pour rien dire est ma devise....
necro27
pour le
--> $_FILES c une variable du meme type que $_GET ou $_POST (donc les trucs entre crochet sont ses "paramétres" si on peut dire comme ca !! )
--> fichier va etre remplacer par foto pour notre cas car (
--> tmp_name on laisse comme ca (ca contient le chemin temporaire du fichier quand il est uploader dans le serveur ie dans le repertoire tmp)
maintenant le code ci dessous c juste pour tester si le fichier a bien été envoyer au serveur !!
if(move_uploaded_file($_FILES['fichier']['tmp_name'],"photos/".$_FILES['fichier']['name'])){
echo " uplaod réussi ^^ ";
}
else
echo " echec de l'uplaod ! ";
exit();
--> Le if (la_fonction) ca test le return de la fonction donc ici pour true va renvoyer "upload reussi ^^"
et sino ca affiche echec de l'uplaod !
move_uploaded_file($_FILES['fichier']['tmp_name'],"photos/".$_FILES['fichier']['name'])
--> $_FILES c une variable du meme type que $_GET ou $_POST (donc les trucs entre crochet sont ses "paramétres" si on peut dire comme ca !! )
--> fichier va etre remplacer par foto pour notre cas car (
<input type="file" name="foto">)
--> tmp_name on laisse comme ca (ca contient le chemin temporaire du fichier quand il est uploader dans le serveur ie dans le repertoire tmp)
maintenant le code ci dessous c juste pour tester si le fichier a bien été envoyer au serveur !!
if(move_uploaded_file($_FILES['fichier']['tmp_name'],"photos/".$_FILES['fichier']['name'])){
echo " uplaod réussi ^^ ";
}
else
echo " echec de l'uplaod ! ";
exit();
--> Le if (la_fonction) ca test le return de la fonction donc ici pour true va renvoyer "upload reussi ^^"
et sino ca affiche echec de l'uplaod !
Bonjour libassed,
Ok, merci beaucoup pour toutes ces précisions, même si je n'en demandais pas tant ! mdr
Mais c'est agréable de voir qu'il y a des personnes comme toi qui existent encore !!
ça se fait rare.., sinon désolé de n'avoir répondu que maintenant, je ne recommence mon stage que de suite.
à une prochaine !!
Et si jamais tu as des questions sur la mise en ligne de photos, je pourrais t'aider, j'ai eu un bon prof ^^ ... mdr
Allez, bonne journée, libassed.
Necro27
Ok, merci beaucoup pour toutes ces précisions, même si je n'en demandais pas tant ! mdr
Mais c'est agréable de voir qu'il y a des personnes comme toi qui existent encore !!
ça se fait rare.., sinon désolé de n'avoir répondu que maintenant, je ne recommence mon stage que de suite.
à une prochaine !!
Et si jamais tu as des questions sur la mise en ligne de photos, je pourrais t'aider, j'ai eu un bon prof ^^ ... mdr
Allez, bonne journée, libassed.
Necro27