[RESOLU] Problème de fonction upload

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Problème de fonction upload

Re: [RESOLU] Problème de fonction upload

par @rthur » 22 déc. 2014, 20:10

Alors enfaite c'est que avatar n'existait pas comme tu l'avais dit :)
Une petite erreur qui est venu avec la fatigue de longue nuit de codage ;)
Ah ah ! On est tous passé par là ! ;-)

Re: [RESOLU] Problème de fonction upload

par Cybak » 22 déc. 2014, 17:39

Alors enfaite c'est que avatar n'existait pas comme tu l'avais dit :)
Une petite erreur qui est venu avec la fatigue de longue nuit de codage ;)

Re: Problème de fonction upload

par @rthur » 22 déc. 2014, 15:19

Merci beaucoup @rthur
Et oui désoler mais je ne savais pas trop où mettre ce sujet .. je ne le referais pas :)
Pas de soucis ;)

Tu as mis le sujet en résolu, ça venait d'où finalement ?

Re: Problème de fonction upload

par Cybak » 22 déc. 2014, 15:16

Merci beaucoup @rthur
Et oui désoler mais je ne savais pas trop où mettre ce sujet .. je ne le referais pas :)

Re: Problème de fonction upload

par @rthur » 22 déc. 2014, 12:37

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 ...
Dans ton code, ce qui déclenche ce message d'erreur est l'échec de la fonction move_uploaded_file().
Si ça avait été la taille ou l'extension tu aurais un autre message d'erreur.

Il faut que tu cherches ce qui fait échouer move_uploaded_file(), en général c'est soit que le fichier $_FILES['avatar']['tmp_name'] n'existe pas, soit que tu as un problème de droit pour le lire ou le déplacer dans $dossier . $fichier

Re: Problème de fonction upload

par @rthur » 22 déc. 2014, 12:31

Modération :
Le multipostage de la même question est à éviter sur PHPfrance.

Problème de fonction upload

par Cybak » 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 :
<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&eacute; avec succ&egrave;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&eacute;rifi&eacute; que le nom de l'image ne comporte pas de caract&egrave;res sp&eacute;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>