Upload d'une image pour un article

Résolu
mathieuweb86 Messages postés 49 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 16 décembre 2010 - 28 nov. 2010 à 23:37
mathieuweb86 Messages postés 49 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 16 décembre 2010 - 30 nov. 2010 à 08:42
Bonjour, à tous

je recherche à réaliser un script qui va me permettre de upload une image sur mon serveur, mais cette image va être uploader pour suivre un article un peux comme un avatar pour un membre. Mon souci est que je suis novice en php j'ai essayer de programmer ce genre de script moi même en regardant un bouquin, mais ça ne fonctionne pas comme je le veux.
En bref je suis à la recherche d'un tuto ou d'un cours ou même de conseil pour mener à bien ce projet.
Est ce que quelqu'un peux m'aidez s'il vous plait?

11 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
29 nov. 2010 à 14:06
ok !

en fait il suffit juste d'ajouter un champs image ex
$sql= " CREATE TABLE `personnes` (
`id` INT( 20 ) NOT NULL AUTO_INCREMENT ,
`nom` VARCHAR( 25 ) NOT NULL ,
`prenom` VARCHAR( 25 ) NOT NULL ,
`adresse` VARCHAR( 100 ) NOT NULL ,
`cp` VARCHAR( 10 ) NOT NULL ,
`telephone` VARCHAR( 20 ) NOT NULL ,
`image` VARCHAR( 100 ) NOT NULL ,

PRIMARY KEY ( `id` )
) TYPE = MYISAM ; " ;

image contiendra le lien vers l'avatar

si tu penses que le post est validé ferme le s.t.p.
3
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
29 nov. 2010 à 10:03
bonjour

En realité tu veux faire un upload comme un site de petites annonces
sauf que tu postes des articles avec photos pas des annonces.

Pour l'upload
http://www.grafikart.fr/tutoriels/gestion-images-php-52
http://www.dailymotion.com/video/xfpvf0_redimensionnement-a-la-volee-en-php_lifestyle

puis tu peux telecharger un manageur d'images sur phpcs
http://www.phpcs.com/codes/EAGLEIMAGE-TRAITEMENT-STOCKAGE-IMAGES_43069.aspx

le formulaire d'upload peu devenir un formulaire qui ecrit aussi dans une
base de données il suffit de rajouter des champs au formulaire, tu pourras alors faire un insert sur ta base avec php/mysql et stocker aussi le chemin
des images liées aux articles.

a++
0
mathieuweb86 Messages postés 49 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 16 décembre 2010
29 nov. 2010 à 11:32
Merci pour ces liens il y en à un que j'ai retenu ses le premier donc je les tester sur l'une de mes pages que tu connai très bien d'ailleur et voila ce que cela m'affiche

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /homepages/12/d307641943/htdocs/sagesse3/admin/modification2.php on line 101

<?php
include('config.php');
?>
<html>
  <head>
    <title>modification de données en PHP :: partie2</title>
<script type="text/javascript" src="js/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({

mode : "textareas",
theme : "advanced",
plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave",


theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,


content_css : "css/content.css",


template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",


style_formats : [
{title : 'Bold text', inline : 'b'},
{title : 'Red text', inline : 'span', styles : {color : '#ff0000'}},
{title : 'Red header', block : 'h1', styles : {color : '#ff0000'}},
{title : 'Example 1', inline : 'span', classes : 'example1'},
{title : 'Example 2', inline : 'span', classes : 'example2'},
{title : 'Table styles'},
{title : 'Table row 1', selector : 'tr', classes : 'tablerow1'}
],


template_replace_values : {
username : "Some User",
staffid : "991234"
}
});
</script>
  </head>

<html>
<head><title>Uploadez vos images!</title></head>

<?php
if(!empty($_FILES)){
require("imgClass.php");
$fichier = $_FILES['fichier'];
$ext = strtolower(substr($img['name'],-3));
$allow_ext = array("jpg","png","gif");
if(in_array($ext,$allow_ext)){
move_uploaded_file($fichier['tmp_name'],"../image/".$fichier['name']);
Img::creermin("../image/".$fichier['name'],"../image/min",$fichier['name'],150,150);
}
else{
$erreur ="votre fichier n'est pas une image";
}
}
?>
<?php
if(isset($erreur)){
echo $erreur;
}
?>
<form method="post" action="modification2.php" enctype="multipart/form"/>


</form>
  <?php
  echo '<center>[index.php Retour à la liste]</center>
<hr>';
 
  $id  = $_GET["idPersonne"] ;
 

  $sql "SELECT * FROM personnes  WHERE id ".$id ;
 

  $requete = mysql_query( $sql, $cnx ) ;
 

  if( $result = mysql_fetch_object( $requete ) )
  {
  ?>
  
  <form name="insertion" action="modification3.php" method="POST">
  ">
  nom,
nom) ;?>">,

----

avatar,
<?php
$dos = \"../image/min\";
$dir= opendir($dos);
while($file = readdir($dir)){
echo $file;
}
?>

----

adresse,
<textarea type="text" name="adresse" rows="30" cols="80" style="width:800px"><?php echo($result->adresse) ;?></textarea>,

----

code postal,
cp) ;?>">,

----

numéro de téléphone,
telephone) ;?>">,

----


</form>
  <?php
  }
  ?>
 

</html>
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
29 nov. 2010 à 12:23
bonjour

l'appel de la classe se fait en haut de la page

<?php
include('config.php');
require("imgClass.php");
?>

ça pas dans le form
au dessus
<?php
$dos = "../image/min";
$dir= opendir($dos);
while($file = readdir($dir)){
echo $file;
}
?>
que veux tu faire ?

je suppose que tu veux mettre le lien de l'image dans la base
et lier un avatar à une personne
pour cela il faut rajouter un chanps dans la table img_nom par ex
varchar 50 ...

puis dans le form en rouge à changer

" />

" /><br /

a++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mathieuweb86 Messages postés 49 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 16 décembre 2010
29 nov. 2010 à 12:54
en faite je veu juste lier un avatar à une personne sans pour autan donner un lien pour afficher l'image en plein écran mais juste lier l'image
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
29 nov. 2010 à 13:15
les avatars sont choisis par le client ou par toi, je veux dire tu leur imposes une liste d'images ou c'est eux qui upload leur image perso ?
0
mathieuweb86 Messages postés 49 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 16 décembre 2010
29 nov. 2010 à 13:44
non c l'admin qui gère tout en faite il n'y à pas de gestion de membre mais une présentation du personnel donc y à que l'admin qui créer et gère les membres enfin les employer.
0
mathieuweb86 Messages postés 49 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 16 décembre 2010
29 nov. 2010 à 15:36
je test tout ça ce soir si ça fonctionne je le ferme pas de prob merci.
0
mathieuweb86 Messages postés 49 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 16 décembre 2010
29 nov. 2010 à 16:21
voila ca qu'il me dit
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /homepages/12/d307641943/htdocs/sagesse3/admin/modification2.php on line 80

<?php
include('config.php');
require("imgClass.php");
?>
<html>
  <head>
    <title>modification de données en PHP :: partie2</title>
<script type="text/javascript" src="js/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({

mode : "textareas",
theme : "advanced",
plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave",


theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true,


content_css : "css/content.css",


template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",


style_formats : [
{title : 'Bold text', inline : 'b'},
{title : 'Red text', inline : 'span', styles : {color : '#ff0000'}},
{title : 'Red header', block : 'h1', styles : {color : '#ff0000'}},
{title : 'Example 1', inline : 'span', classes : 'example1'},
{title : 'Example 2', inline : 'span', classes : 'example2'},
{title : 'Table styles'},
{title : 'Table row 1', selector : 'tr', classes : 'tablerow1'}
],


template_replace_values : {
username : "Some User",
staffid : "991234"
}
});
</script>
  </head>

<html>
<head><title>Uploadez vos images!</title></head>

<?php
if(!empty($_FILES)){
$fichier = $_FILES['fichier'];
$ext = strtolower(substr($img['name'],-3));
$allow_ext = array("jpg","png","gif");
if(in_array($ext,$allow_ext)){
move_uploaded_file($fichier['tmp_name'],"../image/".$fichier['name']);
Img::creermin("../image/".$fichier['name'],"../image/min",$fichier['name'],150,150);
}
else{
$erreur ="votre fichier n'est pas une image";
}
}
?>
<?php
if(isset($erreur)){
echo $erreur;
}
?>
<form method="post" action="modification2.php" enctype="multipart/form"/>

" />
 
" />

</form>
  <?php
  echo '<center>[index.php Retour à la liste]</center>
<hr>';
 
  $id  = $_GET["idPersonne"] ;
 

  $sql "SELECT * FROM personnes  WHERE id ".$id ;
 

  $requete = mysql_query( $sql, $cnx ) ;
 

  if( $result = mysql_fetch_object( $requete ) )
  {
  ?>
  <?php
 $dos = "../image/min";
 $dir= opendir($dos);
 while($file = readdir($dir)){
 echo $file;
 }
 ?>
  <form name="insertion" action="modification3.php" method="POST">
  ">
  nom,
nom) ;?>">,

----

avatar,

----

adresse,
<textarea type="text" name="adresse" rows="30" cols="80" style="width:800px"><?php echo($result->adresse) ;?></textarea>,

----

code postal,
cp) ;?>">,

----

numéro de téléphone,
telephone) ;?>">,

----


</form>
  <?php
  }
  ?>
 

</html>
0
mathieuweb86 Messages postés 49 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 16 décembre 2010
29 nov. 2010 à 18:35
ceci ne fonctionne pas " />

" />
0
mathieuweb86 Messages postés 49 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 16 décembre 2010
30 nov. 2010 à 08:42
Salut j'ai un souci avec la page index que tu à modifier. Quand je lance la page j'ai juste les deux liens du haut qui s'affiche j'ai regardé si j'arrivai à touver le problème, mais je ni suis pas parvenu.
[code=php]<?php
//index.php
include('config.php');
?>
<html>
<head>
<title>modification de données en PHP :: partie 1</title>
<script language="javascript">
function confirme( identifiant )
{
var confirmation = confirm( "Voulez vous vraiment supprimer cet enregistrement ?" ) ;
if( confirmation )
{
document.location.href = "suppression2.php?idPersonne="+identifiant ;
}
}
</script>



</head>

<?php
echo '<center>[insertion1.php Ajouter un enregistrement]
[image.php Ajouter une image]

</center>
<hr>';
//connection au serveur:
//$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
//$db = mysql_select_db( "INFOS" ) ;

//requête SQL:
$sql = " SELECT * FROM personnes ORDER BY nom ";

//exécution de la requête:


$requete = mysql_query( $sql, $cnx ) or die('TABLE ?') ;

if(mysql_fetch_object($requete)) {

//affichage des données:
while( $result = mysql_fetch_object( $requete ) ){

if($result->image==""){
$img="default.jpg";
} else {
$img=$result->image;
}

echo "


".$result->nom." ".$result->prenom." id."">modifier";
echo ' ou ';
echo "id."')" >supprimer

";
}
} else {
echo '
Pas de résultat
'; }
?>

</html>code]
0
Rejoignez-nous