Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[PHP] Probleme avec "filesize"

AzRaElDGT, le samedi 13 octobre 2007 à 09:55:32
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
Répondre à AzRaElDGT  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 AzRaElDGT, le samedi 13 octobre 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

Résultats pour [PHP] Probleme avec "filesize"

PHP - Introduction à la programmation avec PHP Qu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La... www.commentcamarche.net/contents/php/phpintro.php3
PHP - Récupération de données 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... www.commentcamarche.net/contents/php/phpform.php3
PHP - Les fichiers 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... www.commentcamarche.net/contents/php/phpfich.php3

Résultats pour [PHP] Probleme avec "filesize"

[PHP] Upload de fichiersLe 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... www.commentcamarche.net/faq/sujet-889-php-upload-de-fichiers
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';'Cette 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 : www.commentcamarche.net/faq/sujet-869-php-parse-error-unexpected-t-string-expecting-or
Installation rapide de LAMP (Apache+MySql+php) sous LinuxLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL... www.commentcamarche.net/faq/sujet-7971-installation-rapide-de-lamp-apache-mysql-php-sous-linux

Résultats pour [PHP] Probleme avec "filesize"

Ouverture fichier PHP (Résolu)Bonjour a tous je viens de faire ma 1ere page en php j'ai windows 2000, et le logiciel easyphp mon fichier a ete enregistré avec l'extension .php mais lorsque je veux l'ouvrir il me demande avec quel programme, j'ai mis easyphh,... www.commentcamarche.net/forum/affich-1969899-ouverture-fichier-php
Php Warning: Cannot modify header information (Résolu)bonjour, j ai code php qui dans une premiere version dite en "dur" qui marche tres bien. Le probleme pour sa reutilisation et sa maintenace plus aisee, je souhaite remplacer mes parametres en "dur" par des variables php. J ai donc proceder un la... www.commentcamarche.net/forum/affich-1257704-php-warning-cannot-modify-header-information
Comment récupérer l'url d'une page php ? (Résolu)Bonjour, je cherche comment récupérer l'url de la page web, dans laquelle une personne se trouve. Quelle fonction existe-t-il en php ? Merci d'avance pour votre aide. www.commentcamarche.net/forum/affich-1557182-comment-recuperer-l-url-d-une-page-php

Résultats pour [PHP] Probleme avec "filesize"

Télécharger PHP EditPHPEdit 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... www.commentcamarche.net/telecharger/telecharger-62-php-edit

Résultats pour [PHP] Probleme avec "filesize"

PHP - Bases de donnéesPhp 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... www.commentcamarche.net/contents/php/phpbdd.php3
PHP - Parser du XMLIntroduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de... www.commentcamarche.net/contents/php/phpxml.php3
PHP - Les variablesConcept 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... www.commentcamarche.net/contents/php/phpvar.php3