Rechercher : dans
Par :

[PHP] Probleme avec "filesize"

Dernière réponse le 13 oct 2007 à 13:27:34 AzRaElDGT, le 13 oct 2007 à 09:55:32 
 Signaler ce message aux modérateurs

Bonjour,

Alors pour bien comprendre voila mon code:

	//connection a la base
	include("../../includes/connection.php3");

	// Répertoire de stockage
	$rep="../../upload/photo/";
	//verifie la taille et l'extention de l'image
		if (filesize($_FILES['premiere']['tmp_name']) > 1024000)
		{
  			echo'La photo de la résidence est trop grande! Taille limitée à 1 MB!';
			die();
		}			
		// Création du répertoire
				$rep_promo=	$rep."/".$_POST["promo"]."/";
				if(!file_exists($rep_promo))  mkdir($rep_promo, 0755);
				$rep_programme=	$rep_promo."/".$_POST["programme"]."/";
				if(!file_exists($rep_programme))  mkdir($rep_programme, 0755);
		// upload de la photo
				if($_FILES['premiere']['size'] >0) {
				$savefile = $rep_programme.$_POST["lot"]."_photo".".jpg";
				(move_uploaded_file($_FILES['premiere']['tmp_name'],$savefile));
		//Rédimentionement de la photo	
			$filename = $savefile;
   			$dst_w = 800;
			$dst_h = 600;
		// Lit les dimensions de l'image
   			$size = GetImageSize($savefile);  
   			$src_w = $size[0]; 
			$src_h = $size[1];
   		// Teste les dimensions tenant dans la zone
   			$test_h = round(($dst_w / $src_w) * $src_h);
   			$test_w = round(($dst_h / $src_h) * $src_w);
		// Si Height final non précisé (0)
   			if(!$dst_h) $dst_h = $test_h;
		// Sinon si Width final non précisé (0)
   			elseif(!$dst_w) $dst_w = $test_w;
	        // Sinon teste quel redimensionnement tient dans la zone
   			elseif($test_h>$dst_h) $dst_w = $test_w;
   			else $dst_h = $test_h;
			list($width, $height) = getimagesize($filename);
		// Redimensionnement
			$image_p = imagecreatetruecolor($dst_w, $dst_h);
			$image = imagecreatefromjpeg($filename);
			imagecopyresampled($image_p, $image, 0, 0, 0, 0, $dst_w, $dst_h, $width, $height);
			imagejpeg($image_p, $savefile, 100);


En résumé ce code:

Verfis la taille du fichier, si il est superieur a 50 Kb = "Erreur"

Créé sous dossier sur mon serveur dans le dossier "upload" portant le nom de la variable: $_POST["promo"].
Puis dans ce sous dossier recréé un sous dossier portant le nom de la variable: $_POST["programme"].

Envois le fichier image sur mon serveur dans le sous dossier portant le nom de la variable: $_POST["programme"].
Renome le fichier image: $_POST["lot"]."_photo".".jpg"; (donc l'image envoier doit etre obligatoirement du JPG).

Si la résolution de fichers images dépace les 800 pixel en largeur OU 600 pixel en hauteur, alors elle seront redimentioné, mais de façon proportionel afin de ne pas déformer l'image.

Remplace la photo envoié par l'utilisateur par la photo redimentionné.

Ce code marche tres bien!!! Sauf ca:

Verfis la taille du fichier, si il est superieur a 50 Kb= "Erreur"

	//verifie la taille et l'extention de l'image
		if (filesize($_FILES['premiere']['tmp_name']) > 51200)
		{
  			echo'La photo de la résidence est trop grande! Taille limitée à 50 Kb!';
			die();
		}		


Si mon utilisateur envois un fichier de 600 Kb pas de probleme ca marche! Mais si il envois un fichier 2Mo ca marche pas!!(pas de message d'erreur que ce soit celui de mon code ou venant du serveur...).

2eme j'aurais preferer avoir un message d'erreur java script du genre:

<SCRIPT LANGUAGE="JavaScript">
alert('Ici, c\'est votre message!\nSympa non ?');
</SCRIPT>


Mais j'arrive pas l'inserer...

3 eme je veux limiter "upload" qu'aux fichiers JGP sinon message d'erreur! Comment faire?

Az
Configuration: Windows XP
Firefox 2.0.0.7

Meilleures réponses pour « [PHP] Probleme avec "filesize" » dans :
PHP - Les fichiers Voir La gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Récupération de données Voir PHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';' VoirCette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple :
Télécharger PHP Edit VoirPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des fonctions Débuggeur...
Télécharger PHP FTP Synchronizer VoirLa mise à jour de site web est aussi complexe que sa conception. Alors il faut utiliser le bon outil avec les bon paramètres et une bonne connaissance de programmation pour mettre à jour un site. PHP FTP Synchronizer est une application vous...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...

1

 AzRaElDGT, le 13 oct 2007 à 13:27:34

En faite j'ai trouvé! C'etait dans le php.ini

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "${path}\tmp\"

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M

Que j'ai remplacé par ca:

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "${path}\tmp\"

; Maximum allowed size for uploaded files.
upload_max_filesize = 9M

Az

Répondre à AzRaElDGT