Aller au contenu

PB d'upload d'image


Sujets conseillés

Posté

Bonjour à tous,

J'ai fait un site pour un ami. Sur ce site j'ai mis un système d'upload de photo qui fonctionne très bien sur tous les PC que j'ai testé. Il n'y a que chez lui que cela ne fonctionne pas. Les photos sont chargé sur le serveur mais le "chemin" ne s'enregistre pas dans la base de donnée. Je ne comprend pas pourquoi. Je vous donne le code et si quelqu'un à une idée, merci d'avance.

//--------------------------------------
// DEFINITION DES VARIABLES
//--------------------------------------

$target = "files/"; // Repertoire cible
$max_size = 2000000; // Taille max en octets du fichier
$width_max = 9000; // Largeur max de l'image en pixels
$height_max = 9000; // Hauteur max de l'image en pixels


$extensions_ok = array("jpg","gif","png","jpeg","bmp","JPG","BMP","JPEG","GIF","PNG");

//------------------------------------------------------------
// DEFINITION DES VARIABLES LIEES AU FICHIER
//------------------------------------------------------------


$tmp = $_FILES['fichier']['tmp_name'];
$nom_file = time()."_".$_FILES["fichier"]["name"];
$taille = $_FILES['fichier']['size'];
$chemin = $target.time()."_".$_FILES["fichier"]["name"];


$extension = substr($nom_file,-3); // Récupération de l'extension

//---------------------------
// SCRIPT D'UPLOAD
//---------------------------

if($_POST['posted'])
{

// On vérifie si le champ est rempli

if($_FILES['fichier']['name'])
{
// On vérifie l'extension du fichier

if(in_array(strtolower($extension),$extensions_ok))
{
// On récupère les dimensions du fichier

$infos_img = getimagesize($_FILES['fichier']['tmp_name']);

// On vérifie les dimensions et taille de l'image

if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($taille <= $max_size))
{
// Si c'est OK, on teste l'upload

if(move_uploaded_file($tmp, $target.$nom_file))
{

// Si upload OK alors on affiche le message de réussite
echo '<p>Image uploadée avec succès !</p>';
echo '<ul><li>Fichier : '.$_FILES['fichier']['name'].'</li>';
echo '<li>Taille : '.$_FILES['fichier']['size'].' Octets</li>';
echo '<li>Largeur : '.$infos_img[0].' px</li>';
echo '<li>Hauteur : '.$infos_img[1].' px</li></ul>';

$id = $_POST['id'];
// On peut enregistrer

mysql_query("UPDATE ma_table SET image = '$chemin' WHERE id = '$id'");

}
else
{

// Sinon on affiche une erreur système
echo '<p>Problème lors de l\'upload !</p>';

}
}
else
{

// Sinon erreur sur les dimensions et taille de l'image
echo '<p>Erreur dans les dimensions ou taille de l\'image !</p>';
}
}
else
{

// Sinon on affiche une erreur pour l'extension
echo '<p>Votre image ne comporte pas une extension valide !</p>';

}
}
else
{

// Sinon on affiche une erreur pour le champ vide
echo '<p>Le champ du formulaire est vide !</p>';
}
}
?>

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...