[PHP]Problème pour uploader

Fermé
Utilisateur anonyme - 13 févr. 2007 à 14:28
 Utilisateur anonyme - 13 févr. 2007 à 22:55
Bonjour,

Vola daeux semaine que je suis en rade pour réussir à faire ce p*****n de script, pour uploader 1 image, la copié dans un dossier et la miniaturisé deux fois.
Alors je vous met mon script qui est déjà bien détaillé, et vous me poser des question actuellement je sais qu'il plante ici :
else
{
$extension = extension($_POST['fichier1']['name']);
$nom = time();
$copi = move_uploaded_file($_FILES['fichier1'], '../'.$_POST['nom'].'/gde/'.$nom.$extension);
//on copie le fichier dans le repertoire avec les grandes photos et on le renomme
if($copi == TRUE)
Lorsqu'il faut copier.

Voici le code :
<?php
include('../../tete.php');
include('../../menu.php');
$secteur=$_GET['secteur'];

function extension($fichier) {
    $bouts = explode(".", $fichier);
    $extension = array_pop($bouts);
    return $extension;
	}
// ########## Test du Formulaire ############

if(isset($_POST['envoyer']))//on vérifie si le formulaire à été validé
	{
	$largeur = 150; // largeur maximum des miniatures en pixels
		if(isset($_POST['nom']))//si un nom d'album est donné
		{
		$dossier_moy = mkdir('../'.$_POST['nom']);
		$dossier_min  = mkdir('../'.$_POST['nom'].'/mini');
		$dossier_gde  = mkdir('../'.$_POST['nom'].'/gde');
		
		$dossier = '../'.$_POST['nom'];// dossier où seront stocké les photos moyennes
		$dossier_mini = '../'.$_POST['nom'].'/mini/';// dossier où seront stocké les miniatures
		$dossier_org = '../'.$_POST['nom'].'/gde/'; //dossier où seront stocké les photos Originale		
			
			if(isset($_FILES['fichier1']['tmp_name']))// on vérifie si un fichier à été soumis
			{
			$erreur = 'Veuilllez envoyer un fichier s\'il vous plait.';
			}
			else// on récupère les informations conçernant le fichier.
			{
				if($_FILES['fichier1']['size']> $_POST['max'])
				{
				$erreur = 'Votre fichier est trop gros, il ne doit pas dépasser 10Mo.';
				}
				else
				{
				$extension = extension($_POST['fichier1']['name']);
					if($extension=='gif' OR $extension=='GIF' OR $extension=='png' OR $extension=='PNG' OR $extension=='jpg' OR $extension=='jpeg' OR $extension=='JPG' OR $extension=='JPEG')//si le fichier n'est pas une image.
					{
					$erreur = 'Votre fichier n\'est pas une image';
					}
					else
					{
					$extension = extension($_POST['fichier1']['name']);
					$nom = time();
					$copi = move_uploaded_file($_FILES['fichier1'], '../'.$_POST['nom'].'/gde/'.$nom.$extension);
//on copie le fichier dans le repertoire avec les grandes photos et on le renomme
if($copi == TRUE)
{
//########### Création de la MINIATURE ###############
						if($extension=='jpg' OR $extension=='jpeg' OR $extension=='JPG' OR $extension=='JPEG')
						//si l'extension est Jpeg.
						{
						$src1 = imagecreatefromjpeg($dossier_org.$nom.$extension);
							if($tableau[1] > 150)
							{
							$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
							imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
							imagejpeg ($im, $dossier_mini.$nom.$extension);//on la copie dans le fichier dans le repertoire des miniatures.
							}
							else
							{
							copy($dossier_org.$nom.$extension, $dossier_mini.$nom.$extension);
							}
						}
						elseif($extension=='png' OR $extension=='PNG')
						//si l'extension est PNG.
						{
						$src1 = imagecreatefrompng($dossier_org.$nom.$extension);
							if($tableau[1] > 150)
							{
							$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
							imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
							imagepng ($im, $dossier_mini.$nom.$extension);//on la copie dans le fichier dans le repertoire des miniatures.
							}
							else
							{
							copy($dossier_org.$nom.$extension, $dossier_mini.$nom.$extension);
							}
						}
						elseif($extension=='gif' OR $extension=='GIF')
						//si l'extension est GIF.
						{
						$src1 = imagecreatefromgif($dossier_org.$nom.$extension);
							if($tableau[1] > 150)
							{
							$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
							imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
							imagegif ($im, $dossier_mini.$nom.$extension);//on la copie dans le fichier dans le repertoire des miniatures.
							}
							else
							{
							copy($dossier_org.$nom.$extension, $dossier_mini.$nom.$extension);
							}
						}
						elseif($extension!='gif' OR $extension!='GIF' OR $extension!='png' OR $extension!='PNG' OR $extension!='jpg' OR $extension!='jpeg' OR $extension!='JPG' OR $extension!='JPEG')
						{
						$erreur = 'le type du fichier n\'est pas supporter.<br/>
						Votre fichier doit être de type Jpeg, Gif ou png.';
						}
						header('location : index.php');
						exit();
						}
						else
						{
						$erreur='le fichier, n\'a pu etre déplacer';
						}
					}
				}
			}
		}
		else
		{
		$erreur= 'Veuillez entrer un nom d\'album s\'il vous plait.';	
		echo$erreur;
		}
	}
	else
	{
?>
<div id="corps">
<h3>Ajout de photos - <?php echo $secteur ?> - </h3><br/>
<?php
echo'<h1>'.$erreur.'</h1>';
?>
<form action ="./index.php" method="POST">
<h3>Veuillez entrez un nom pour l'album.</h3>
<label>Nom de l'album<input type="text" name="nom" enctype="multipart/form-data"/></label><br/>
<input type="hidden" name="max" value="10240" />
<label> 1<input type="file" name="fichier1" /></label><br/>
<label> 2<input type="file" name="fichier2" /></label><br/>
<label> 3<input type="file" name="fichier3" /></label><br/>
<label> 4<input type="file" name="fichier4" /></label><br/>
<label> 5<input type="file" name="fichier5" /></label><br/>
<input type="submit" value="envoyer" name="envoyer" />
</form>
</div>
<?php
	}
include('../../pied.php');
?>


hesitez pas à me poser des questions.
Pouvez-vous m'aider ?
Merci
A voir également:

2 réponses

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
13 févr. 2007 à 14:46
Déjà ici :
if($extension=='gif' OR $extension=='GIF' OR $extension=='png' OR $extension=='PNG' OR $extension=='jpg' OR $extension=='jpeg' OR $extension=='JPG' OR $extension=='JPEG')//si le fichier n'est pas une image.
					{
					$erreur = 'Votre fichier n\'est pas une image';
					}


Ce ne devrait pas être l'inverse par hasard ? En toute logique.

Sinon, on ne va pas pouvoir faire grand chose si tu ne donne pas les erreurs sur les lignes qui sont sensées planter.

C'est quoi exactement comme type d'erreur ?
0
Utilisateur anonyme
13 févr. 2007 à 18:11
Sa c'est pas bête.
Merci déjà +1
Mais il ne fonctionne toujours pas.
En ayant rajouter quelques echo'1'; echo'2';...etc
par ci par là il se trouve que il ne veut pas me valider ma fonction move_uploaded_file
Alors je ne voit pas comment faire avec les variables?
Pouvez vous m'aider ?
Merci d'avance.
0
Utilisateur anonyme
13 févr. 2007 à 22:55
Bon j'ai corriger mon code mais maintenant c'est ici qu'il plante parce que mon fichier n'est as reconnu.
	if(isset($_FILES['fichier1']['tmp_name']))


Voici le code corrigé si sa vous interesse.
<?php
include('../../tete.php');
include('../../menu.php');
$secteur=$_GET['secteur'];

function extension($file)
    {
        if($file != '.')
        {
        $ext = strrchr($file, '.');
        }
        else
        {
        $ext = 'Nom du fichier incorrect.';
        }
        echo $ext;
    }
// ########## Test du Formulaire ############

if(isset($_POST['envoyer']))//on vérifie si le formulaire à été validé
	{
	echo'1';
	$largeur = 150; // largeur maximum des miniatures en pixels
		if(isset($_POST['nom']))//si un nom d'album est donné
		{
		echo'2';
		$dossier_moy = mkdir('../'.$_POST['nom']);
		$dossier_min  = mkdir('../'.$_POST['nom'].'/mini');
		$dossier_gde  = mkdir('../'.$_POST['nom'].'/gde');
		
		$dossier = '../'.$_POST['nom'];// dossier où seront stocké les photos moyennes
		$dossier_mini = '../'.$_POST['nom'].'/mini/';// dossier où seront stocké les miniatures
		$dossier_org = '../'.$_POST['nom'].'/gde/'; //dossier où seront stocké les photos Originale		
			
			if(isset($_FILES['fichier1']['tmp_name']))// on vérifie si un fichier à été soumis
			{
			echo'3';
				if($_FILES['fichier1']['size']> $_POST['max'])
				{
				$erreur = 'Votre fichier est trop gros, il ne doit pas dépasser 10Mo.';
				}
				else
				{
				echo'4';
				$extension = substr(strrchr($_POST['fichier1'],'.'),1);
				echo $extension;
					if($extension=='gif' OR $extension=='GIF' OR $extension=='png' OR $extension=='PNG' OR $extension=='jpg' OR $extension=='jpeg' OR $extension=='JPG' OR $extension=='JPEG')//si le fichier n'est pas une image.
					{
					echo'5';
					$nom = time();
					$dossier_destination =  '../'.$_POST['nom'].'/gde/'.$nom.'.'.$extension;
					$copi = move_uploaded_file($_FILES['fichier1'],$dossier_destination);
//on copie le fichier dans le repertoire avec les grandes photos et on le renomme
if($copi == TRUE)
{
echo'7';
//########### Création de la MINIATURE ###############
						if($extension=='jpg' OR $extension=='jpeg' OR $extension=='JPG' OR $extension=='JPEG')
						//si l'extension est Jpeg.
						{
						echo'6';
						$src1 = imagecreatefromjpeg($dossier_org.$nom.$extension);
							if($tableau[1] > 150)
							{
							$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
							imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
							imagejpeg ($im, $dossier_mini.$nom.$extension);//on la copie dans le fichier dans le repertoire des miniatures.
							}
							else
							{
							copy($dossier_org.$nom.$extension, $dossier_mini.$nom.$extension);
							}
						}
						elseif($extension=='png' OR $extension=='PNG')
						//si l'extension est PNG.
						{
						$src1 = imagecreatefrompng($dossier_org.$nom.$extension);
							if($tableau[1] > 150)
							{
							$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
							imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
							imagepng ($im, $dossier_mini.$nom.$extension);//on la copie dans le fichier dans le repertoire des miniatures.
							}
							else
							{
							copy($dossier_org.$nom.$extension, $dossier_mini.$nom.$extension);
							}
						}
						elseif($extension=='gif' OR $extension=='GIF')
						//si l'extension est GIF.
						{
						$src1 = imagecreatefromgif($dossier_org.$nom.$extension);
							if($tableau[1] > 150)
							{
							$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
							imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
							imagegif ($im, $dossier_mini.$nom.$extension);//on la copie dans le fichier dans le repertoire des miniatures.
							}
							else
							{
							copy($dossier_org.$nom.$extension, $dossier_mini.$nom.$extension);
							}
						}
						elseif($extension!='gif' OR $extension!='GIF' OR $extension!='png' OR $extension!='PNG' OR $extension!='jpg' OR $extension!='jpeg' OR $extension!='JPG' OR $extension!='JPEG')
						{
						$erreur = 'le type du fichier n\'est pas supporter.<br/>
						Votre fichier doit être de type Jpeg, Gif ou png.';
						}
						header('location : index.php');
						exit();
						}
						else
						{
						$erreur='le fichier, n\'a pu etre déplacer';
						}
					}
					else
					{
					$erreur = 'Votre fichier n\'est pas une image';
					}
				}
			}
			else// on récupère les informations conçernant le fichier.
			{
			$erreur = 'Veuilllez envoyer un fichier s\'il vous plait.';
			}
			}
		else
		{
		$erreur= 'Veuillez entrer un nom d\'album s\'il vous plait.';	
		echo$erreur;
		}
	}
	else
	{
?>
<div id="corps">
<h3>Ajout de photos - <?php echo $secteur ?> - </h3><br/>
<?php
echo'<h1>'.$erreur.'</h1>';
?>
<form action ="./index.php" method="POST">
<h3>Veuillez entrez un nom pour l'album.</h3>
<label>Nom de l'album<input type="text" name="nom" enctype="multipart/form-data"/></label><br/>
<input type="hidden" name="max" value="10240" />
<label> 1<input type="file" name="fichier1" /></label><br/>
<label> 2<input type="file" name="fichier2" /></label><br/>
<label> 3<input type="file" name="fichier3" /></label><br/>
<label> 4<input type="file" name="fichier4" /></label><br/>
<label> 5<input type="file" name="fichier5" /></label><br/>
<input type="submit" value="envoyer" name="envoyer" />
</form>
</div>
<?php
	}
include('../../pied.php');
?>
0