begin process at 2012 05 31 14:14:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

reduire la taille de plusieurs images d'un formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

reduire la taille de plusieurs images d'un formulaire

lundi 3 janvier 2011 à 13:32:13 | reduire la taille de plusieurs images d'un formulaire

delfti

Bonjour et bonne année avec plein de codes et de n½uds au cerveau (pour celles et ceux qui en ont un)

Bref, une chtite question simple :
dans mon formulaire de dépôt d'annonce de mon site qui sortira j'espère avant le 21 12 2012
j'ai mis à disposition 4 inputfile pour que les dépositaires puissent mettre 4 photos.

je vais verrouiller le JPG uniquement via javascript mais, ensuite, je veux limiter la taille lors de l'upload afin de ne pas rebuter les annonceurs à le faire eux même.

après deux semaines de recherche, je ne trouve pas de script pour réduire mes jpg.

est ce un traitement qui se fais photo par photo(soit réécrire le script pour chacune d'elle) ou est il possible de faire les 4 en même temps dans un script unique???

merci d'avance pour toutes vos réponses.
mardi 4 janvier 2011 à 01:01:24 | Re : reduire la taille de plusieurs images d'un formulaire

cod57

bonsoir

il te faut utiliser une class php
redimensionner ...
http://www.white-hat-web-design.co.uk/articles/php-image-resizing.php

a++
mardi 4 janvier 2011 à 07:18:33 | Re : reduire la taille de plusieurs images d'un formulaire

delfti

je te remercie, ça à l'air de correspondre exactement à ce que je recherche.
faudra m'expliquer comment certain trouvent en si peu de temps là où moi j'ai cherché pendant une semaine
merci et G@z
mardi 4 janvier 2011 à 13:56:02 | Re : reduire la taille de plusieurs images d'un formulaire

delfti

je ne dois pas être bien habile ou alors???

bref coté client j'ai mon formulaire qui après validation déclenche mon fichier add.php

ce fichier add.php contient entre autre, la connexion à ma bdd, il recueille les champ tel que nom prenom etc, puis les fichiers photos et là ça donne ça (avec un générateur de code pour le nom afin de ne pas avoir de doublons)
Code PHP :
//je m'occupe des photos
function code_generator($taille)
	{
		if($taille<=0) $taille = 6; 
			$consonnes = "bcdfghjklmnpqrstvwxz"; 
			$voyelles = "aeiouy"; 
			$numeros = "0123456789"; 
			$c[0] = $consonnes; 
			$c[1] = $voyelles; 
			$c[2] = $consonnes; 
			$c[3] = $voyelles; 
			$c[4] = $numeros; 
			$c[5] = $numeros;
			$code="";
			for ($i=0;$i<$taille;$i++) {
				 $code.=substr($c[$i%6],(rand()%(strlen($c[$i%6]))),1); 
			} 
		return $code;
	}
	$codex = code_generator(6);
	
	
	
	
	$dest_dossier = 'photosmer/';
	
	if($_FILES['photo1']['name']!="")
	{
		$fichier1 = $codex.$_FILES['photo1']['name'];	
		$dest_fichier1 = basename($fichier1);
		move_uploaded_file($_FILES['photo1']['tmp_name'], $dest_dossier . $dest_fichier1);
	}
	else 
	{
		$fichier1 = "0.jpg";
	}


puis il repart sur la connexion à la table et l'envoi des données et pour finir, affiche un message comme quoi l'annonce est en ligne (je ferai un mail de conf ensuite).

le petit script que tu m'a trouvé, je l'ai posé dans la partie de code ci-dessus et puis rien, il m'affiche des trucs bizarre "&#65533;&#65533;&#65533;&#1250;}H~&#65533;&#65533;?&#65533;VOS&#65533;#&#65533;&#65533;X&#65533;&#65533;&#65533;V&#65533;&#65533;&#65533;&#65533;|`&#65533;G&#65533;&#65533;&#65533;h&#65533;&#65533;&#65533;;&#1256;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;|&#65533;&#65533;&#65533;&#65533;&#65533;B(&#65533;&#65533;[&#65533;&#65533;&#65533;I&#127;&#65533;5kh&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;(&#65533;&#65533;n&#65533;g&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;Sh&#65533;&#65533;8&#65533;=)(&#65533;&#65533;" sur je ne sais combien de ligne et m'envoie la photo dans le dossier sans changer la taille et le poids.
j'ai essayé en changeant quelques variable pour adapter mais rien y fait

mardi 4 janvier 2011 à 16:31:16 | Re : reduire la taille de plusieurs images d'un formulaire

cod57


tu veux donc redimensioner à la volée ton image
,c'est à dire lui donner une taille fixe lors de l'upload puis la stocker dans un repertoire et dans ta base stoker le lien qui lui correspond.

tu peux faire ça aprés l'upload la class le permet

essaye voir ça ...
a++

Code PHP :
<?php
<?php
//je m'occupe des photos
function code_generator($taille)
	{
		if($taille<=0) $taille = 6; 
			$consonnes = "bcdfghjklmnpqrstvwxz"; 
			$voyelles = "aeiouy"; 
			$numeros = "0123456789"; 
			$c[0] = $consonnes; 
			$c[1] = $voyelles; 
			$c[2] = $consonnes; 
			$c[3] = $voyelles; 
			$c[4] = $numeros; 
			$c[5] = $numeros;
			$code="";
			for ($i=0;$i<$taille;$i++) {
				 $code.=substr($c[$i%6],(rand()%(strlen($c[$i%6]))),1); 
			} 
		return $code;
	}
	$codex = code_generator(6);
	
	
	
	
	$dest_dossier = 'photosmer/';
	
	if($_FILES['photo1']['name']!="")
	{
		$fichier1 = $codex.$_FILES['photo1']['name'];	
		$dest_fichier1 = basename($fichier1);
		if(move_uploaded_file($_FILES['photo1']['tmp_name'], $dest_dossier . $dest_fichier1)){
    
    $img=$dest_dossier . $dest_fichier1
    
    /*tu dois avoir SimpleImage.php qui contient ta class
    au même niveau que ton script d'upload    
    */
    
    include('SimpleImage.php');
    $image = new SimpleImage();/*creation de l'objet*/ 
    $image->load($img);
    /*creation miniature*/
    $image->resizeToHeight(90);
    $image->save($dest_dossier.'petit_'.$dest_fichier1);
    /*creation image normale*/
    $image->resizeToHeight(480);
    $image->save($dest_dossier.'grand_'.$dest_fichier1);
    } else {
    die('Prob upload');
    }

		
		
	}
	else 
	{
		$fichier1 = "0.jpg";
	}
?>
mardi 4 janvier 2011 à 16:34:04 | Re : reduire la taille de plusieurs images d'un formulaire

cod57

j'ai oublié ici
$img=$dest_dossier . $dest_fichier1 ;
excuses
sinon parse error
mardi 4 janvier 2011 à 16:47:44 | Re : reduire la taille de plusieurs images d'un formulaire

cod57

j'ai essayé comme ça chez moi ça marche parfaitement ... a++

Code PHP :
<?php
//je m'occupe des photos
function code_generator($taille)
	{
		if($taille<=0) $taille = 6; 
			$consonnes = "bcdfghjklmnpqrstvwxz"; 
			$voyelles = "aeiouy"; 
			$numeros = "0123456789"; 
			$c[0] = $consonnes; 
			$c[1] = $voyelles; 
			$c[2] = $consonnes; 
			$c[3] = $voyelles; 
			$c[4] = $numeros; 
			$c[5] = $numeros;
			$code="";
			for ($i=0;$i<$taille;$i++) {
				 $code.=substr($c[$i%6],(rand()%(strlen($c[$i%6]))),1); 
			} 
		return $code;
	}
	$codex = code_generator(6);
	
	
	
if(isset($_POST['sub']) && isset($_FILES['photo1'])){	
	$dest_dossier = 'photosmer/';
	
	if($_FILES['photo1']['name']!="")
	{
		$fichier1 = $codex.$_FILES['photo1']['name'];	
		
    $dest_fichier1 = basename($fichier1);
		if(move_uploaded_file($_FILES['photo1']['tmp_name'], $dest_dossier . $dest_fichier1)){
    
    echo $img=$dest_dossier.$dest_fichier1;
    
    /*tu dois avoir SimpleImage.php qui contient ta class
    au même niveau que ton script d'upload    
    */
    
    include('SimpleImage.php');
    $image = new SimpleImage();/*creation de l'objet*/ 
    $image->load($img);
    /*creation miniature*/
    $image->resizeToHeight(90);
    $image->save($dest_dossier.'petit_'.$dest_fichier1);
    /*creation image normale*/
    $image->resizeToHeight(480);
    $image->save($dest_dossier.'grand_'.$dest_fichier1);
    } else {
    die('Prob upload');
    }

		
		
	}
	else 
	{
		$fichier1 = "0.jpg";
	}

}else{
echo $form='<form method="post" action="'.$_SERVER['PHP_SELF'].'" enctype="multipart/form-data">

<input type="file" name="photo1" /><br />
<input type="submit" name="sub" value="envoyer">
</form>';

}
?>
mardi 4 janvier 2011 à 16:51:17 | Re : reduire la taille de plusieurs images d'un formulaire

delfti

je teste ce soir et te dis ça vite, si ça peut servir à d'autre.

si j'ai quatre photos, je répète fois l'opération??
mardi 4 janvier 2011 à 20:35:15 | Re : reduire la taille de plusieurs images d'un formulaire

cod57

si tu as 4 photos ça marche aussi
soit tu fais une boucle soit repete 4x

if(isset($_POST['sub']) && isset($_FILES['photo1'])){
...
$img1$=dest_dossier.$dest_fichier1;
...


if(isset($_POST['sub']) && isset($_FILES
['photo2'])){ ...
$img2$=dest_dossier.$dest_fichier2;
...

idem
$img3$=dest_dossier.$dest_fichier3;

idem
$img4$=dest_dossier.$dest_fichier4;

remarques :
ton upload est pas sécurisé
tu devrais controler l'extension
, filtrer le nom , tester la taille ...
sinon y a des petits malins
qui vont t'envoyer des co...ies !

ex filtre pour $fichier1
idem pour 2, 3, 4 ...

Code PHP :
         
<?php
/*petite secu*/
   
$fichier1 = $codex.$_FILES['photo1']['name'];

      $fichier1  = strtr($fichier1 , 
         'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
         'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier1 = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier1 );
?>


a++





mardi 4 janvier 2011 à 21:33:53 | Re : reduire la taille de plusieurs images d'un formulaire

delfti

alors là chapeau bas
ça fonctionne bien,
j'ai juste enlevé le petit form à la fin
la création de miniature (pas nécessaire)
dans le save j'ai enlevé le mot grand_ car sinon il me créait une nouvelle image et gardait l'image au format d'origine en plus
et sinon, j'ai aussi enlevé le echo de $img=$dest... sinon il me l'écrivait dans la page de confirmation de dépot

je vais tester pour quatre photo dans mon formulaires comme ça on pourra boucler la boucle.

merci encore pour cette aide précieuse.

1 2

Cette discussion est classée dans : images, script, taille, formulaire, reduire


Répondre à ce message

Sujets en rapport avec ce message

Formulaire d'envoi de mail en HTML [ par slhuilli ] Bonjour,Je suis a la recherche d'un script (PHP si possible) pour pouvoir écrire des mails au format HTML (gestion des gras, souligné et italique ains "bluffer" un script cgi [ par koala01 ] Bonjour,je cherche désepérément le moyen de faire une double utilisation d'un formulaire:Il faudrait qu'une page PHP vérifie le formulaire (ca, c'est Formulaire avec envoi d'image. [ par Kaeru ] J'ai crée un formulaire avec envoi de données plus image.J'ai config pour n'eccepter qu'un t'aille maximum.J'aimmerais aussi limiter la taille en pixe Probleme de communication entre formulaire et script [ par djyb2003 ] Bonjour ! Voila mon probleme j'ai utilisé un script php dans mon formulaire pour envoyer un mail rempli des champs du formulaire! mai le serveur me so Aide sur exec + formulaire [ par pericles ] Bonjour le mondej'ai un script sh a executer via php et je n'y arrive pas :/donc en gros j'ai creer un formulaire qui envoi des info au script sh et q Formulaire d'envoie d'images. [ par spike911 ] Bon cela fait plus de deux semaine que je recherche ce type de code. Je recherche quelque chose qui; Par le bien d'un formulaire ferais ajouter un ima le formulaire, le fichier et l'image ... [ par PhpNono ] Bonjour ! Voilà j'ai un problème : J'ai 2 pages, 1-Dans la première je vais chercher des fichier(images en fait) ça c'est bon. je les selectionne, tou Lien entre formulaire et script php [ par starskyb ] Bonjour,Je developpe une interface php qui me permet de faire des requete precise sur une base sql. Cette interface comprend un formulaire qui a pour gestion des images dans un formulaire (plusieurs choses à faire) [ par Ric_punk ] Bonjour à tousJe voudrais faire un forlmulaire avec saise de texte (bon ça pas de problème) mais je reste bloqué pour la gestion de l'image que le vis avec un formulaire, selon selection envoyer vers different script PHP [ par fredericmaill ] voila j'ai un formaulaire et 4 boutons ( ajouter, supprimer, rechercher, modifier) , je voudrais que chaque bouton revoie vers son script php ! le bou


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,232 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales