Accueil > > > FONCTION PHP POUR REDIMENSIONNER UNE IMAGE ET UPLOADER DANS UN DOSSIER.
FONCTION PHP POUR REDIMENSIONNER UNE IMAGE ET UPLOADER DANS UN DOSSIER.
Information sur la source
Description
Une petite fonction php qui permet de redimensionner une image à une hauteur et une largeur désirer et de l'uploader directement sur votre site web. Besoin de bonne connaisance pour utiliser ce script. C'est simplement une fonction vous devez appelez la fonction lors de l'envoie d'un formulaire.
Source
- <?php
- function getImgResize($dossier, $taille_x, $taille_y, $file_name){ // $dossier = destination, $taille_x = largeur maximum, $taille_y = hauteur maximum, $file_name = LE NOM DU $_FILES DANS CODE HTML
- $content_dir = $dossier; // Dossier où sera déplacé le fichier (mini/)
- $tmp_file = $_FILES[$file_name]['tmp_name'];
- // Vérifie si le fichier peu étre updater.
- if(!is_uploaded_file($tmp_file)){ $erreur = array(TRUE,1,'Le fichier est introuvable'); }
- // On vérifie maintenant l'extension ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- $type_file = $_FILES[$file_name]['type']; // Type du fichier envoyer
- // Recherche du type de fichier et appel de la variable $type si fichier valide !
- if(($type_file=='image/pjpeg') || ($type_file=='image/jpeg'))
- { $type = 'jpeg'; }elseif($type_file=='image/x-png' || $type_file=='image/png')
- { $type = 'png'; }elseif($type_file=='image/gif')
- { $type = 'gif'; } // Recherche du type de fichier
- // Vérifie si la variable $type (Qui est appeler ci-haut!) est vide car elle devrais étre appeler en haut si c'est le bon fichier
- if(!isset($type)){ $erreur = array(TRUE,2,'Le fichier n\'est pas une image') ; }
- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- $name_file = $_FILES[$file_name]['name'];
- if(preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name_file)){ $erreur = array(TRUE, 3, 'Nom de fichier non valide'); } // Vérifie si les caractéres sont valide.
-
- if(!isset($erreur)) //S'il n'y a pas d'erreur on continue...
- {
- $OriSize=getimagesize($tmp_file); // Cherche les dimentions original de l'image
- // Vérifie le types (JPG,GIF,PNG) et crée la première image !/////////
- switch($type)
- { case 'jpeg': $image = imagecreatefromjpeg($tmp_file); break;
- case 'png': $image = imagecreatefrompng($tmp_file); break;
- case 'gif': $image = imagecreatefromgif($tmp_file); break; }
- ///////////////////////////////////////////////////////////////////////
- if ($OriSize[0] < $OriSize[1]) { $largeur_finale=round(($OriSize[0]*$taille_y)/$OriSize[1]); $hauteur_finale=$taille_y;
- } else { $hauteur_finale=round(($OriSize[1]*$taille_x)/$OriSize[0]); $largeur_finale=$taille_x; }
- $image_mini = imagecreatetruecolor($largeur_finale, $hauteur_finale); // CRÉATION DE L'IMAGE FINALE
- imagecopyresampled($image_mini, $image, 0, 0, 0, 0, $largeur_finale, $hauteur_finale, $OriSize[0], $OriSize[1]);// COPIE FINALE
- // Vérifie le types (JPG,GIF,PNG) FINALISATION...///////////
- switch($type) {
- case 'jpeg': imagejpeg ($image_mini, $content_dir.$name_file); break;
- case 'png': imagepng ($image_mini, $content_dir.$name_file); break;
- case 'gif': imagegif ($image_mini, $content_dir.$name_file); break; }
- //////////////////////////////////////////////////////////////////////////
- $link = 'http://www.'.$_SERVER["SERVER_NAME"].'/'.$content_dir.$name_file;
- echo $link.'<BR>';
- echo '<img src="'.$link.'" />';
- }else{
- echo $erreur[2]; // SI UNE ERREUR C'EST PRODUITE VA AFFICHER L'ERREUR !
- $link = ''; // Na pas de lien si pas d'image...
- }
- }
- /* Les valeurs pour $erreur sont [0]=TRUE [1]=1 [2]='Le fichier est introuvable'
- [0]=TRUE [1]=2 [2]='Le fichier n\'est pas une image'
- [0]=TRUE [1]=3 [2]='Nom de fichier non valide'
-
- Je vous rappel que si vous désirer supprimer une photo en php c'est unlink($file); ! xD Petit truc de débutant.
- */
- function convertBytes( $value ) {
- if ( is_numeric( $value ) ) {
- return $value;
- } else {
- $value_length = strlen( $value );
- $qty = substr( $value, 0, $value_length - 1 );
- $unit = strtolower( substr( $value, $value_length - 1 ) );
- switch ( $unit ) {
- case 'k':
- $qty *= 1024;
- break;
- case 'm':
- $qty *= 1048576;
- break;
- case 'g':
- $qty *= 1073741824;
- break;
- }
- return $qty;
- }
- }
- ?>
<?php
function getImgResize($dossier, $taille_x, $taille_y, $file_name){ // $dossier = destination, $taille_x = largeur maximum, $taille_y = hauteur maximum, $file_name = LE NOM DU $_FILES DANS CODE HTML
$content_dir = $dossier; // Dossier où sera déplacé le fichier (mini/)
$tmp_file = $_FILES[$file_name]['tmp_name'];
// Vérifie si le fichier peu étre updater.
if(!is_uploaded_file($tmp_file)){ $erreur = array(TRUE,1,'Le fichier est introuvable'); }
// On vérifie maintenant l'extension ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$type_file = $_FILES[$file_name]['type']; // Type du fichier envoyer
// Recherche du type de fichier et appel de la variable $type si fichier valide !
if(($type_file=='image/pjpeg') || ($type_file=='image/jpeg'))
{ $type = 'jpeg'; }elseif($type_file=='image/x-png' || $type_file=='image/png')
{ $type = 'png'; }elseif($type_file=='image/gif')
{ $type = 'gif'; } // Recherche du type de fichier
// Vérifie si la variable $type (Qui est appeler ci-haut!) est vide car elle devrais étre appeler en haut si c'est le bon fichier
if(!isset($type)){ $erreur = array(TRUE,2,'Le fichier n\'est pas une image') ; }
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$name_file = $_FILES[$file_name]['name'];
if(preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name_file)){ $erreur = array(TRUE, 3, 'Nom de fichier non valide'); } // Vérifie si les caractéres sont valide.
if(!isset($erreur)) //S'il n'y a pas d'erreur on continue...
{
$OriSize=getimagesize($tmp_file); // Cherche les dimentions original de l'image
// Vérifie le types (JPG,GIF,PNG) et crée la première image !/////////
switch($type)
{ case 'jpeg': $image = imagecreatefromjpeg($tmp_file); break;
case 'png': $image = imagecreatefrompng($tmp_file); break;
case 'gif': $image = imagecreatefromgif($tmp_file); break; }
///////////////////////////////////////////////////////////////////////
if ($OriSize[0] < $OriSize[1]) { $largeur_finale=round(($OriSize[0]*$taille_y)/$OriSize[1]); $hauteur_finale=$taille_y;
} else { $hauteur_finale=round(($OriSize[1]*$taille_x)/$OriSize[0]); $largeur_finale=$taille_x; }
$image_mini = imagecreatetruecolor($largeur_finale, $hauteur_finale); // CRÉATION DE L'IMAGE FINALE
imagecopyresampled($image_mini, $image, 0, 0, 0, 0, $largeur_finale, $hauteur_finale, $OriSize[0], $OriSize[1]);// COPIE FINALE
// Vérifie le types (JPG,GIF,PNG) FINALISATION...///////////
switch($type) {
case 'jpeg': imagejpeg ($image_mini, $content_dir.$name_file); break;
case 'png': imagepng ($image_mini, $content_dir.$name_file); break;
case 'gif': imagegif ($image_mini, $content_dir.$name_file); break; }
//////////////////////////////////////////////////////////////////////////
$link = 'http://www.'.$_SERVER["SERVER_NAME"].'/'.$content_dir.$name_file;
echo $link.'<BR>';
echo '<img src="'.$link.'" />';
}else{
echo $erreur[2]; // SI UNE ERREUR C'EST PRODUITE VA AFFICHER L'ERREUR !
$link = ''; // Na pas de lien si pas d'image...
}
}
/* Les valeurs pour $erreur sont [0]=TRUE [1]=1 [2]='Le fichier est introuvable'
[0]=TRUE [1]=2 [2]='Le fichier n\'est pas une image'
[0]=TRUE [1]=3 [2]='Nom de fichier non valide'
Je vous rappel que si vous désirer supprimer une photo en php c'est unlink($file); ! xD Petit truc de débutant.
*/
function convertBytes( $value ) {
if ( is_numeric( $value ) ) {
return $value;
} else {
$value_length = strlen( $value );
$qty = substr( $value, 0, $value_length - 1 );
$unit = strtolower( substr( $value, $value_length - 1 ) );
switch ( $unit ) {
case 'k':
$qty *= 1024;
break;
case 'm':
$qty *= 1048576;
break;
case 'g':
$qty *= 1073741824;
break;
}
return $qty;
}
}
?>
Conclusion
Bonne chance !
Historique
- 03 octobre 2010 09:14:11 :
- Correctif
- 03 octobre 2010 18:32:39 :
- Ajout d'un fichier example. Pour comment l'utiliser.
- 03 octobre 2010 19:50:03 :
- Correction au code Example et Fonction.
- 03 octobre 2010 19:53:28 :
- Dernier changement
- 03 octobre 2010 19:57:51 :
- Petit changement
Sources de la même categorie
VALIDATEUR DE FORMULAIREVALIDATEUR DE FORMULAIREJ'ai codé cet ensemble de classes pour accélérer la création de formulaire sans l'alourdir avec une classe la plus simple possible d'utilisation.
J'a...
par Reldan
SUIVI SERVICE CLIENT PHPSUIVI SERVICE CLIENT PHP Bonjour. Voici mon premier dev en PHP.
Il reste encore beaucoup de travail a faire, afin de le finir, en y incluant par exemple tout e la partie bas...
par hige52
POO - FORMULAIRE NEWSLETTER PHP - PROFESSEUR-PHP.COMPOO - FORMULAIRE NEWSLETTER PHP - PROFESSEUR-PHP.COM Il y a de nombreuses sources sur les formulaire de newsetter, je propose en plus la vidéo pour l'explication de la source, merci.
Voici le tutorial...
par mtrix000
SELECTEUR DE NOTESELECTEUR DE NOTEUne classe Php et le plugin jQuery correspondant pour un sélecteur de note simplissime d'utilisation.
Rien de bien novateur mais je n'ai pas trouvé d...
par Reldan
ESPACE MEMBRE , AVEC CASE OPTIONNEL , SANS MYSQLESPACE MEMBRE , AVEC CASE OPTIONNEL , SANS MYSQLvoici un espace membre qu'on peut qualifier de très simple, il n'utilise pas de bdd, ni mysql il est plus fait pour de petits sites, il n'y a rien d'a...
par sartoz
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Redimensionner une image en fonction de sa taille [ par Dexterage ]
Bonjour, J'ai un petit probleme, d'ou ma venu ici :) Je crée une gallerie d'image en php, donc la taille des images sont fixes, et losque je le
Redimensionner des images lors de l'upload [ par Drazounet ]
Hello à tous, Je commence à manipuler des images pour la première fois, et je trouve que c'est assez complexe... J'ai beaucoup cherch
Gros problème d'upload d'image...encore un [ par kenru ]
Bonjour à tous, voilà j'ai un petit souci pour un upload d'image.//Fonction d'upload$nom_fichier = $_FILES['userfile']['name'];$tmp_fichier
redimensionner une photo lrs de l'upload [ par boubeuch1 ]
Bonjour, Je souhaiterais faire en sorte que quelque soit la taille de l'image d'origine, lorsqu'elle est téléchargé sur le serveur, celle-ci est redi
Formulaire avec image___ upload sur le site et raccourci dans la base [ par bidbidon ]
Bonjour, je suis novice en php!!! J'arrive à transferer toutes [u]les données écrites[/u] de mon formulaire sur ma base!!! Mais j'ai ajouter un <inp
Fonction D'upload en PHP [ par olst59 ]
Bonjour a tous, Je me permet de poster un message dans ce forum car je deviens fou... voici maintenant quelques jours que je cherche une explication
Détruire une image après sont upload [ par spike911 ]
bonjour, Je me suis créer un petit système d'upload d'imges pour un projet web. Une basse de donnée stock la liste complète des images avec leur noms
upload d'une image pour un article [ par mathieuweb86 ]
Bonjour, à tous je recherche à réaliser un script qui va me permettre de upload une image sur mon serveur, mais cette image va être uploader pour sui
Afficher une image en fonction d'un pourcentage [ par loupile ]
Bonjour à tous, je m'explique alors voilà j'ai un album dans lequel j'ai une ou plusieurs images stockées dans une base de données. ces images dans
fonction pour redimensionner des images de grande taille [ par oceanrider ]
Bonjour à tous, Je me tourne vers vous car malgré mes recherches, je ne trouve pas de solution à mon problème. J'ai recours à une fonction pour redi
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|