Aller au menu - Aller au contenu

Problème entre $_files et empty/isset

Pour accéder à cette section
Connectez-vous !
connexion_rpx

Résolu Le problème de ce sujet a été résolu

Offre d'emploi : Développeur Web PHP/Drupal (H/F)

Page 1 
Auteur Message
1 visiteur sur ce sujet (1 Anonyme)
Page 1 
Hors ligne darkysan # Posté le 09/02/2012 à 03:38:32

Bien le bonjour à tous !

Voila, je cale sur une connerie surement, mais ça fait plus de 2h que je cherche sans trouver de solution ... Je commence un peu a désespérer !
Alors pour essayer de faire simple, voila le problème:

J'ai un formulaire de création de news avec photo, et le problème vien de la photo.
Quand je créer une news avec une photo et avec "isset" tout marche correctement, mais dès que je met pas de photo, le script rentre quand même dans la boucle.
J'ai essayer aussi avec "empty", quand je met pas de photo, ça marche, et quand j'en met une, il ne me la prend pas en compte et ne rentre pas dans la boucle ... .

ça doit surement être la fatigue qui joue un peu, mais je trouve vraiment pas la solution :(
Voici le script en question :

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
if(empty($_FILES['image']))
{ 
	$dossier = '../images/news/';
	$fichier = basename($_FILES['image']['name']);
	$taille_maxi = 4096000;
	$taille = filesize($_FILES['image']['tmp_name']);
	$extensions = array('.png', '.gif', '.jpg', '.jpeg');
	$extension = strrchr($_FILES['image']['name'], '.'); 
	
	if(!in_array($extension, $extensions))
	{
		$message .= 'L\'extention du fichier doit être de type : png, gif, jpg ou jpeg.<br />';
		$nb_error++;
	}
	
	if($taille>$taille_maxi)
	{
		$message .= 'Le fichier ne doit pas dépasser 4Mo.<br />';
		$nb_error++;
	}
	if($nb_error == 0)
	{
		$fichier = time() .''. $extension;
	
		if(move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $fichier))
		{
			$message .= "good";
		}
		else
		{
			$message .= "Echec de l'envoi de l'image.<br />";
		}
	}
}
else
{
	$fichier = '';
}
?>


Merci d'avance pour votre aide. :)
Publicité # Posté le 09/02/2012 à 03:38:32

Hors ligne Totsuke974 # Posté le 09/02/2012 à 04:17:06
Avatar

Salut a toi darkysan

As tu essayer sa :
Code : PHP
1
2
3
<?php
if(!empty($_FILES['image']))
?>

Notre team php ici

We arePhp™
 
Hors ligne Fecal-Matter # Posté le 09/02/2012 à 06:20:31
Oh My God !
Avatar

Empty = vide.
Pour rentrer dans ton script, tu demandes donc que ton fichier soit vide. Illogique.
Hors ligne darkysan # Posté le 09/02/2012 à 16:22:36

Citation : Totsuke974
Salut a toi darkysan

As tu essayer sa :
Code : PHP
1
2
3
<?php
if(!empty($_FILES['image']))
?>


Je viens d'essayer à l'instant.
Maintenant quand il y a une photo, ça marche, et quand il y en a pas, il rentre quand même dans la boucle puisqu'il m'affiche le message comme moi l'extension n'est pas bonne.

Le problème à juste été inversé :/

EDIT : Je viens de trouver la solution par hasard ...
Suffisait de faire :
Code : PHP
1
2
3
<?php
if(!empty($_FILES['image']["name"]))
?>


Merci à toi pour ton aide =)
Édité le 09/02/2012 à 16:26:24 par darkysan
Hors ligne Totsuke974 # Posté le 09/02/2012 à 16:56:03
Avatar

Haha lol un peu ce que j'ai dit :) De rien ^^

ps: Met ton sujet résolu :)
Édité le 09/02/2012 à 16:56:52 par Totsuke974

Notre team php ici

We arePhp™
 

Retour au forum "PHP" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx