Upload d'une image pour un article [Résolu]

Signaler
Messages postés
49
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
16 décembre 2010
-
Messages postés
49
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
16 décembre 2010
-
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

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
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.
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
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++
Messages postés
49
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
16 décembre 2010

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>
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
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++
Messages postés
49
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
16 décembre 2010

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
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
16
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 ?
Messages postés
49
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
16 décembre 2010

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.
Messages postés
49
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
16 décembre 2010

je test tout ça ce soir si ça fonctionne je le ferme pas de prob merci.
Messages postés
49
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
16 décembre 2010

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>
Messages postés
49
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
16 décembre 2010

ceci ne fonctionne pas " />

" />
Messages postés
49
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
16 décembre 2010

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]