Designed by Derf !
87 en ligne   Boutique | Sites | Bar | Forum | PhpBB | Actu | Glossaire | Codes | Tips | Liens | Livres | Lettre  


 Recherche

 NewsLetter





   

Création de miniatures

Fonction php de création





visualight
Cette fonction sert à créer des miniatures.

// Fichier Fct_resize.php
<?php
// $Hauteur_Miniatures provient par exemple d'un fichier de configuration
// où est stocké la hauteur de la miniature (en px).
// ex.: $Hauteur_Miniatures = 150;

function creer_miniature($img_big$dirSrc$dirDest$Hauteur_Miniatures) {
$tnH $Hauteur_Miniatures;
$t_rename 0;
$th_quality 1;
$img_big $dirSrc "/" $img_big;
$size = @getimagesize($img_big);
switch(
$size[2]){
case 
1:
if (
imagetypes() & IMG_GIF)
$src imagecreatefromgif($img_big); 
break;
case 
2:
if (
imagetypes() & IMG_JPG)
$src imagecreatefromjpeg($img_big); 
break;
case 
3:
if (
imagetypes() & IMG_PNG)
$src imagecreatefrompng($img_big);  
break;
default :
if (
preg_match("/\.wbmp$/",$img_big) && (imagetypes() & IMG_WBMP)){
$src imagecreatefromwbmp($img_big);
$size[0] = imagesx($src);
$size[1] = imagesy($src);
if (!isset(
$format))
$format 4;
}
}
if (!
$src){
$thumbs[$img_big] = "Format NON SUPPORTE !";
}else{
$destW $size[0]*$tnH/$size[1];
$destH $tnH;
if (
$th_quality == 1){
$dest imagecreatetruecolor($destW,$destH);                     
imagecopyresampled($dest,$src,0,0,0,0,$destW,$destH,$size[0],$size[1]);      
} else {
$dest imagecreatetruecolor($destW,$destH);
imagecopyresized($dest,$src,0,0,0,0,$destW,$destH,$size[0],$size[1]);
}
$tn_name $img_big;

// ICI VOUS POUVEZ DEFINIR DE RENOMMER LE FICHIER
// Exemple: "_m" renommera : fichier.jpg en fichier_m.jpg

$tn_name preg_replace("/\.(gif|jpe|jpg|jpeg|png|wbmp)$/i","_m",$tn_name);
$tn_name preg_replace("/.*\/([^\/]+)$/i","$dirDest\\1",$tn_name);
if (isset(
$format))
$type $format;
else
$type $size[2];
switch(
$type){
case 
:
if (
imagetypes() & IMG_GIF){
imagegif($dest,$tn_name.".gif");
$thumbs[$img_big] = "$tn_name.gif";
}
break;
case 
2:
if (
imagetypes() & IMG_JPG){
imagejpeg($dest,$tn_name.".jpg");
$thumbs[$img_big] = "$tn_name.jpg";
}
break;
case 
3:
if (
imagetypes() & IMG_PNG){
imagepng($dest,$tn_name.".png");
$thumbs[$img_big] = "$tn_name.png";
}
break;
default:
if (
imagetypes() & IMG_WBMP){
imagewbmp($dest,$tn_name.".wbmp");
$thumbs[$img_big] = "$tn_name.wbmp";
}
}
if (!(
$thumbs[$img_big])){
$thumbs[$img_big] = "Format NON SUPPORTE !";
}
// FIN CREATION
}
}
?>

Pour appeler la fonction, il faut faire comme suit ...

Où dans cet exemple :

- $f = provient d'un readdir
- $rep = nom du répertoire (ex.: events/album1/wazza/)
- $rep.'medium/' = répertoire de destination (droits nobody ou 777)
- $Hauteur_Affiches_Events = La hauteur désirée de l'affiche (ex.: 200)

<?php creer_miniature($f$rep$rep.'medium/'$Hauteur_Affiches_Events); <?

Pour effectuer récursivement la redimension de miniatures à la volée, rien de tel qu'une bonne vieille boucle while sur le readdir ...

Exemple :
<?php
// $repertoire provient d'une base de donnée par exemple
$rep ''.$repertoire.'/'.$CfgDirAffiche.'/';
$dir opendir($rep);

while (
$f readdir($dir)) {
// Vérification de  l'extension pour ne pas renommer
// un fichier Exécutable (swf ou autre éventuellement présent)
if(strtolower(substr($f, -3)) == "jpg" || strtolower(substr($f, -3)) == "gif"
   
|| strtolower(substr($f, -3)) == "png" || strtolower(substr($f, -3)) == "wbmp"){

// REDIMENSIONNEMENT DES AFFICHES SI LES MINIATURES N'EXISTENT PAS
if(!file_exists($rep.'medium/'.$medium_f)){
creer_miniature($f$rep$rep.'medium/'$Hauteur_Affiches_Events);
}

echo 
'<table class="Tableau" width="100" cellspacing="0" cellpadding="0"
align="center"><tr><td><div align="center"><a href="'
.$repertoire.'/'.$CfgDirAffiche
.'/'.$f.'" target="_blank"><img src="'.$repertoire.'/'.$CfgDirAffiche.'/medium/'
.$medium_f.'" border="0"></a></div></td></tr></table>';
}
?>

Et voilà ... Bonne prog ;)

Pour pouvoir écrire dans ce forum, identifiez-vous !

  v1.3p © ASP-PHP.net 2002  

visualight le 23/06/2008 (1 860 hits)
Didier Gratuit : Téléchargez 7 logiciels Microsoft !!!
du 29/09 au 05/11 les MS Days gratuits dans votre ville !!!
Gratuit : Téléchargez SQL Server 2008 !
Au fil des news  
[MAJ] Inscription contrôlée à une NewsLetter ou Service - Abonnement avec confirmation et désabonnement
Correction d'un point-virgule manquant (merci de m'avoir obligé à chercher JPierre) dans le module ...
[MAJ] PHP - Administrer en ligne - Protection des pages
Ajout d'un code de validation généré aléatoirement.
PHP - Premier lundi d'une semaine et d'une année
JavaScript - Premier lundi d'une semaine et d'une année
ASP - Premier lundi d'une semaine et d'une année
Alphabet Radio et Code Morse - Alpha Zulu appelle Tango Charlie !
Encoder-Décoder en "Alphabet Radio" ... "Alpha Zulu appelle Tango Charlie !" ou en Code Morse ... ...
Filtrer les modèles de site SharePoint - Filtrer l'affichage des modèles de site SharePoint
Je vous propose de découvrir à l'aide de cet article quels mécanismes peuvent vous permettent de ...
ASP/PHP - Crypter/Décrypter - par table de correspondance
(ASP/PHP) Une méthode pour crypter/décrypter des données par l'utilisation d'une table de ...
PHP - Listes liées (1 table) - version2
JavaScript - Rendre Visible ou Invisible des éléments d'un form
PHP - Listes liées (1 table) - version1
JavaScript - Intercepter le click sur vidéo WMP ou flash SWF
[MAJ] Une base de données sans base de données - Comment travailler avec des fichiers texte ?
Modification du paramétrage du dossier à scanner dans le popup qui permet de sélectionner l'image.
Jeux de l'été (et de 5) - Un jeu de Motus (mots de 8 lettres)
C'est reparti pour un tour... Comme je venais de proposer un jeu de Mastermind, je me suis dit que, ...
PowerShell - Extraire toutes les collections SharePoint en CSV
PowerShell - Lister les collections pour une WebApp SharePoint
PowerShell - Lister les utilisateurs d'un site SharePoint
PowerShell - Connaître le code version de votre SharePoint
Connaître la version de SharePoint installée - Comment savoir la version de SharePoint en cours
Dans le cadre de la maintenance de plusieurs fermes SharePoint, il est indispensable de connaître ...
PowerShell - Travailler avec une base de données SQL Server
.NET - Visual Studio 2008 sur Facebook : çà rock's
PowerShell - Ajouter des liens sur deux niveaux dans SharePoint
Un petit annuaire perso avec photo - en PHP et MySQL
Avoir des copains et des amis c'est bien que dis-je c'est même vital pour le bien être de chacun. ...
Une base de données sans base de données - Comment travailler avec des fichiers texte ?
Suite à une question sur le forum (les habitués me connaissent), je propose une mini-gestion de ...
ASP/PHP : Affichage de données en tableau html - Afficher proprement des données dans un tableau
Création d'un tableau "à la volée" pour afficher ses données. Affichage "en ligne" ou "en ...
PowerShell - Ajouter une liste dans un site SharePoint
Annuaire d'entreprise en PHP - Très pratique pour ne plus rien perdre
Mon petit annuaire d'entreprise, je m'en sers tous les jours alors autant vous en faire profiter. ...
PHP-MySQL : Formulaire - pour le script 'Bon anniversaire' de DB77
Formulaire et script d'enregistrement pour le script « Bon anniversaire » de DB77 en PHP/MySQL ...
.NET - Introducing Microsoft Silverlight 2.0, 2nd Edition
PHP5 - Upload de fichiers - Classe PHP
PHP - PHP 5 /MYSQL® 5
PHP - Calcul de la surface d'un polygone
Comment supprimer des items d'une liste SharePoint - Supprimer les informations d'une liste SharePoint
SharePoint permet bien sur de stocker des données. Parfois, on peut vouloir effacer certaines de ...
Dreamweaver CS4 - Nouvelle version Béta
Voici la nouvelle mouture, annoncée en juin, juste 6 mois après la sortie de la version CS3. Je ...
PowerShell - Synchronisation répertoire par répertoire
PowerShell - Ajouter des items dans une liste SharePoint
Localisation des développements avec SharePoint - Rendre ses applications SharePoint internationales
Lorsque l'on développe des applications avec SharePoint, on se confronte très souvent à une ...
PowerShell - Supprimer tous les items d'une liste SharePoint
PowerShell - Vider la Corbeille SharePoint d'une collection
Modification de l'adresse du Search Center - Définir la page de résultat d'une ferme MOSS
Lorsque l'on installe MOSS dans une ferme SharePoint et que l'on configure le moteur de recherche ...
Tutorial : HTML | Scripting | ASP-PHP | ASP.net | SQL Server | XML
Sharepoint | XAML | Pocket | Dreamweaver | VML | Divers
  Scripts : Scripting | ASP-PHP | ASP.net | Divers
  Boutique | Annuaire | Bannières | Météo | Tribune | Partenariats
v3 © Didier 2003   
 

Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
 El Roubio DotNet Project Wygwam Groupes Utilisateurs Microsoft ASP-magazine CodePPC Codes Sources TechNet MVP The Inquirer FR