voila le probleme,
j'ai un formulaire,
je vous met le code au cas ou :
avec un champs FILE lequel doit etre recup et uploadé,
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é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>
voila le traitement php
quant je valide voila ce qu'il me met :<?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";
?>
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/
Partager