[Upload] probleme d'upload de fichier
:salut:
voila le probleme,
j'ai un formulaire,
je vous met le code au cas ou :
Code:
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éscriptif du partenaire</b></td>
<td>
<textarea name="text" COLS=50 ROWS=6 align="left">Taper ici la Dé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
Citation:
<?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:
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/ |