j'ai voulu intégrer le tutorial "Upload de fichiers" dans un script d'insertion de données dans une base, mais ça ne fonctionne pas et je ne sais pas comment faire. Ci-dessous les deux fichiers que j'utilise, En premier le formulaire et en second le script php. Quelqu'un peut-il m'aider et m'expliquer SVP.
nb: Je suis sur un serveur local (j'utilise MAMP), j'ai créé un dossier tmp et avec un chmod 777 sur les dossiers et images. Rien ne s'inscrit dans ma base et rien ne va dns le dossier /images/
------formulaire--------
<html>
<head>
<title>insérer un dossier</title>
</head>
<body>
<form name="insertion" action="insert_doss.php" enctype="multipart/form-data" method="POST">
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td> </td>
<td align="left">Insérer un dossier </td>
</tr>
<tr align="center">
<td>titre</td>
<td align="left"><input type="text" name="titre"></td>
</tr>
<tr align="center">
<td>texte</td>
<td><textarea name="texte" cols="40" rows="5"></textarea></td>
</tr>
<tr align="center">
<td>image</td>
<td>
<fieldset>
<legend>Envoi de fichiers</legend>
<label for="photo">Photo :</label><input type="file" name="photo" />
</legend>
</fieldset>
</td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="insÈrer"></td>
</tr>
</table>
</form>
</body>
</html>
------script insert_doss.php----------
<?php
require_once("config.php") ;
include('header.php');
//connection au serveur
$cnx = mysql_connect(SERVEUR, USER, PASS, DB) ;
//sÈlection de la base de donnÈes:
$db = mysql_select_db(DB) ;
//rÈcupÈration des valeurs des champs:
//titre:
$titre = $_POST["titre"] ;
//texte:
$texte = $_POST["texte"] ;
//crÈation de la requÍte SQL:
$sql = "INSERT INTO doss (titre, texte)
VALUES ( '$titre', '$texte' ) " ;
//upload images
if(isset($_FILES['photo']))
{
// parents
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max = 500000;
$dest_dossier = '/localhost:8888/monsite/admin/images/';
// vÈrifications
if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sÈlectionner un fichier de type png, gif ou jpg !';
}
elseif( file_exists($_FILES['photo']['tmp_name'])
and filesize($_FILES['photo']['tmp_name']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 500Ko !';
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['photo']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier, '¿¡¬?ƒ?«»… ÀÃÕŒœ“”‘’÷Ÿ?€‹›‡·‚„‰ÂÁËÈÍÎÏÌÓÔ?ÚÛÙ?ˆ???¸??', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-1]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
}
}
//affichage de la requÍte SQL pour mieux comprendre
echo( "<center>".$sql."<br>" ) ;
if(isset($erreur)){
echo '<p>', $erreur ,'</p>';
}
//exÈcution de la requÍte SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
//affichage des rÈsultats, pour savoir si l'insertion a marchÈe:
if($requete)
echo("<center>L'insertion a ÈtÈ correctement effectuÈe</center>") ;
else
echo("<center>L'insertion ‡ ÈchouÈe</center>") ;
?>