Problème de fonction upload
Posté : 22 déc. 2014, 12:00
Bonjour !
J'ai un panel admin sur lequel on peut accéder à une page qui permet d'uploader des images sur le serveur et ensuite de les redimensionner. Mais un problème est survenu alors qu'hier non (je m'en ai aperçu car je suis entrain de mettre en place la partie pour le redimensionnement des image)..
Quand la page galerie-upload.php (la page permettant d'uploader les image) il n'y a pas d'erreur mais quand je met dans le formulaire pour uploader l'image sur le serveur, il me marque ensuite "Echec de l'upload !" , je ne comprend pas étant donné que la taille de l'image est bonne et que l'extension l'est aussi ...
P.S: il y a aussi le système de membre mais ça marche ^^
Voici le code :
J'ai un panel admin sur lequel on peut accéder à une page qui permet d'uploader des images sur le serveur et ensuite de les redimensionner. Mais un problème est survenu alors qu'hier non (je m'en ai aperçu car je suis entrain de mettre en place la partie pour le redimensionnement des image)..
Quand la page galerie-upload.php (la page permettant d'uploader les image) il n'y a pas d'erreur mais quand je met dans le formulaire pour uploader l'image sur le serveur, il me marque ensuite "Echec de l'upload !" , je ne comprend pas étant donné que la taille de l'image est bonne et que l'extension l'est aussi ...
P.S: il y a aussi le système de membre mais ça marche ^^
Voici le code :
<div style="font-size:25px;position:relative;top:370px;padding-left:350px;">
<?php
$dossier = '../img/galerie/';
$fichier = basename($_FILES['img']['name']);
$taille_maxi = 2000000;
$taille = filesize($_FILES['img']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['img']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg ou jpeg ...';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros !';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)){
echo 'Upload effectué avec succès !';
header ("Refresh: 3;URL=../galerie.php");
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
?>
</div>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="icon" href="../img/favicon.ico" />
<title>Galerie - Club Manga - Lycée Aristide Briand Saint Nazaire</title>
<link rel="stylesheet" href="../style/style.css" />
<link rel="stylesheet" media="screen and (max-width: 1025px)" href="../style/style-1025.css" />
<link rel="stylesheet" media="screen and (max-width: 875px)" href="../style/style-875.css" />
<link rel="stylesheet" media="screen and (max-width: 651px)" href="../style/style-651.css" />
<link rel="stylesheet" media="screen and (max-width: 555px)" href="../style/style-555.css" />
<link rel="stylesheet" media="screen and (max-width: 1500px)" href="../style/style-1500.css" />
<link rel="stylesheet" media="screen and (max-width: 1300px)" href="../style/style-1300.css" />
<link rel="stylesheet" media="screen and (max-width: 1100px)" href="../style/style-1100.css" />
<link rel="stylesheet" media="screen and (max-width: 940px)" href="../style/style-900.css" /> </head>
<body>
<header>
<h1>Club Manga Lycée Aristide Briand Saint Nazaire</h1>
<div style="border:4px black solid; width:45%; text-align:center; margin-right:auto; margin-left:auto; background-color:rgba(180,0,0,0.75);">
<?php
session_start();
if(!@$_SESSION['session'])
{
require_once('../config.php');
$titre_page='Index';
include_once('../haut.php');
if(isset($_GET['erreur']))
{
echo'<span class="erreur">';
$erreur=$_GET['erreur'];
if($erreur=="pseudo")
{
echo'Erreur : Votre pseudo est invalide';
}
if($erreur=="passe")
{
echo'Erreur : Votre mot de passe est invalide';
}
if($erreur=="connexion")
{
echo"Erreur : Votre mot de passe ne correspond pas avec votre pseudo";
}
echo'</span>';
}
?>
<form method="post" action="../login.php">
<table width="300" border="0" align="center">
<tr>
<td colspan="2" class="menu">Identification</td>
</tr>
<tr>
<td><label for="pseudo">Pseudo : </label></td>
<td><input type="text" name="pseudo" id="pseudo" /></td>
</tr>
<tr>
<td><label for="mdp">Mot de passe : </label></td>
<td><input type="password" name="mdp" id="mdp" />
</td>
</tr>
<tr>
<td>
<input type="submit" value="Envoyer" />
</td>
</tr>
</table>
</form>
<div align="center"><a href="../inscription.php">Pas encore inscrit ?</a>
<?php
if($localite != 'local')
echo'<br /><a href="../perdu.php">Mot de passe perdu ?</a>';
echo'</div>';
}
else
{
require_once('../config.php');
require_once('../verifications.php');
$titre_page='Index membres';
include_once('../haut.php');
echo'<div align="center"><strong>Bienvenue dans votre espace membres '. $pseudo .' !</strong>
<br /><a href="../profil.php">Modification du profil</a>
<br /><a href="../logout.php">Deconnexion</a></div>';
}
include_once('../bas.php');
?>
</div>
</header>
<nav>
<nav>
<div id="menu_accueil"><a href="../accueil.php">Accueil</a></div>
<div id="menu_news"><a href="../news.php">News</a></div>
<div id="menu_infos"><a href="../infos.php">Infos</a></div>
<div id="menu_galerie"><a href="../galerie.php">Galerie</a></div>
<div id="menu_contact"><a href="../contact.php">Contact</a></div>
</nav>
</nav>
<section>
<article>
<h3>Cette page permet de mettre dans la galerie de nouvelles images</h3>
<h2>Acces unique aux administrateurs !</h2>
<p>Les images doivent avoir une des extensions suivantes : .png, .gif, .jpg ou .jpeg<br/>
Veuillez vérifié que le nom de l'image ne comporte pas de caractères spéciaux et qu'il ne soit pas trop long.</p>
<form method="post" action="galerie-upload.php" enctype="multipart/form-data">
<input type="file" name="img"/>
<input type="submit" name="Envoyer"/>
<h2>Redimensionner des images</h2>
<form method="post" action="galerie-upload.php">
<label for="pseudo">Nom de l'image : </label>
<input type="text" name="nom-img" id="nom-img" />
<input type="submit" value="Redimensionner" />
</form>
<div style="font-size:24px;">
<?php
if(isset($_POST['nom-img']))
{
$nom_img = $_POST['nom-img'];
$img_source = '../img/galerie/'.$nom_img.'.jpg';
$img_destination = '../img/galerie/min/mini-'.$nom_img.'.jpg';
$source = imagecreatefromjpeg($img_source);
$destination = imagecreatetruecolor(200, 150);
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
imagejpeg($destination, "$img_destination");
echo 'L\'image qui a pour nom '.$nom_img.'.jpg est maintenant en version miniature !';
header ("Refresh: 4;URL=galerie-upload.php");
}
else
{
echo 'Le champ n\'est pas rempli !';
}
?>
</div>
</article>
</section>
<footer>
<h4>Copyright © 2014 Cybak All Rights Reserved</h4>
</footer>
</body>
</html>