voila le probleme,

j'ai un formulaire,
je vous met le code au cas ou :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<form name="form" method="post" enctype="multipart/form-data" method=post action="php/add_part.php">
   <TABLE BORDER=0  width="100%">
    <tr><td width="25%" align="left">
     <b>Nom du partenaire</b></td><td>
  <INPUT type=text name="nom">
  </td></tr><td align="left"><b>D&eacute;scriptif du partenaire</b></td>
  <td>
  <textarea name="text" COLS=50 ROWS=6 align="left">Taper ici la D&eacute;scription du partenaire</textarea>
  </td>
  </tr><tr><td align="left">
     <b >Logo du partenaire</b>
 </td><td>
   <INPUT type="file" name="img">
     </TD>
    </TR>
  <tr>
      <TD align="left"><b>Lien vers son site</b></TD>
  <TD>
   <INPUT type=text name="lien">
   </td></tr>
    <TR>
<td align="left"><b>Etat</b><br /></td>  <td>
  <INPUT TYPE=radio checked NAME=etat VALUE="1">En ligne
     <INPUT TYPE=radio NAME=etat VALUE="0">Hors ligne</td></tr><tr><td colspan="2">
<div align="center">
<input type="submit" value="ajouter l'enregistrement"></div>
 </td>
</tr>
</table>
</form>
avec un champs FILE lequel doit etre recup et uploadé,

voila le traitement php

<?php
include ("maconfigv2_sql.php");
@
mysql_connect($dbhost,$dbuser,$dbpass) or die("La Connexion a échouée");
@
mysql_select_db($dbbase) or die("La Base $dbbase n'existe pas");
/* On écrit dans la base les variables récupérées du formulaire*/

$nom=$_POST['nom'];
$text=$_POST['text'];
$lien=$_POST['lien'];
$test=$_FILES['img']['name'];
echo
"test = $test<br />";
$nom=addslashes($nom);
$text=addslashes($text);
// --------------------------------------------------------- WORK IN PROGRESS ---------------------------------------------------------
if($test!='') // si formulaire soumis
{echo"isset post img<br>";
$content_dir = '/img/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['img']['tmp_name'];
if( !
is_uploaded_file($tmp_file) )
{echo
"isempty post img<br>";
}
// on vérifie maintenant l'extension
$type_file = $_FILES['img']['type'];
if( !
strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'gif') && !strstr($type_file, 'png') )
{
exit(
"Le fichier n'est pas une image<br>");
}
// on copie le fichier dans le dossier de destination
$name_file =$_FILES['img']['name'];
if( !
move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit(
"Impossible de copier le fichier dans $content_dir<br>");
}
echo
"Le fichier a bien été uploadé<br>";
}else{echo
"champs vide";
}
// --------------------------------------------------------- WORK IN PROGRESS ---------------------------------------------------------
// img
$enregistrement = "INSERT INTO partenaire (nom, text, lien, etat, img)
VALUES ('$nom','$text','$lien','$etat', '$test]' )"
;
// '$_POST['img']'
mysql_query($enregistrement);
mysql_close();
// ligne 61
echo"<br>ajout du Partenaire $nom: <br>";
echo
"<br>déscription $text<br>";
echo
"<br>lien : <b>$lien</b><br>";
echo
"<br>file : $name_file";
?>
quant je valide voila ce qu'il me met :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Warning: move_uploaded_file(): open_basedir restriction in effect. 
File(/img/logo_anpe.gif) is not within the allowed path(s): 
(/home/www/...j'ai squizzer des chiffres.../:/tmp) 
in /home/www/...j'ai squizzer des chiffres.../web/v2/admin/php/add_part.php on line 42
Impossible de copier le fichier dans /img/