allserv

  • Site web
  • Nombre de sujets
    75
  • Nombre de messages
    242
  • Nombre de commentaires
    4
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

allserv
le 24/12/2005 à 22:54
Problème pour gestion d'erreur avec class
Bonsoir,

Voilà suite à tous les traitements sur les photos que je peux uploader j'ai décidé de créer une class dédiée à cela.

http://www.lephpfacile.com/wall/wall.php?id=2533

J'aimerais cependant que à l'intérieur de la classe dès que $this->no_error==false (en gros dès que la fonction Ajout_Erreur() est appelée) on quitte cette classe et que je revienne directement dans la page appelante de cette classe.

Mais je ne vois pas du tout car le exit() a la fin arrete completement le script et si jemets rien ca uplode le fichier meme si y a une erreur et ca m'affiche les erreurs php :(

Si quelqu'un aurait une idée pour cette gestion d'erreur et d'affichage cela m'arrangerait.

Merci d'avance
allserv
le 23/12/2005 à 00:54
Générer miniature rapidement ...
Bonsoir,

J'aimerais avoir votre avis car pour rendre le chargement de pages profils plus rapides j'aimerais générer des miniatures des photos, j'utilise ce code

<?php	
header("Content-type: image/jpeg");
$image = "upload/".$_GET['img'];
$src_im = ImageCreateFromJpeg($image);
$size = GetImageSize($image);
$src_w = $size[0];
$src_h = $size[1];
//taille de votre image
$dst_w = 150;
// Contraint le rééchantillonage à une largeur fixe
// Maintient le ratio de l'image
$dst_h = round(($dst_w / $src_w) * $src_h);
$dst_im = ImageCreateTrueColor($dst_w,$dst_h);
/* ImageCopyResampled copie et rééchantillonne l'image originale*/
ImageCopyResampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
/* ImageJpeg génère l'image dans la sortie standard (c.à.d le navigateur).
Le second paramètre est optionnel ; dans ce cas, l'image est générée dans un fic
hier*/
ImageJpeg($dst_im,'',70);
ImageDestroy($dst_im);
imageDestroy($src_im);
?>



Malheureusement cela n'est pas forcément plus rapide , j'aimerais bien savoir comment fait tf1 pour rendre l'affichage aussi rapide :
http://www.etoilecasting.com/site/fiche_book.php?nfic=25388&i=1

Est-ce que les miniatures des images doivent être stockées dans un dossier auparavant ?

Merci d'avance pour les réponses utiles que je pourais avoir :)
allserv
le 17/11/2005 à 13:46
Classement différé
Voilà la requete pour récuperer :

$sql = "SELECT COUNT(t2.id) AS nbre_votes, AVG( t2.note ) AS moyenne, t2.id_photo, t1.id AS id_top, t3.id AS id_membre, t3.pays_renc, t3.age, t3.taille, t3.poids, t3.cheveux, t3.yeux
FROM ".$GLOBALS["table_top"]." AS t1
LEFT JOIN ".$GLOBALS["table_votes"]." AS t2 ON t2.id_top = t1.id OR t2.id_top IS NULL
LEFT JOIN ".$GLOBALS["table_basic"]." AS t3 ON t3.id = t1.id_membre
WHERE t1.top='".$session_top."' AND t3.sexe='".$type_top."' AND DATE_FORMAT(t1.date,'%Y-%m') = DATE_FORMAT(CURDATE(),'%Y-%m')
GROUP BY t2.id_photo
ORDER BY moyenne DESC
LIMIT $debut,$nbre_top";
$query = mysql_query($sql) or die("Erreur sur $sql :<br><br>".mysql_error());


Par contre je fais un affichage page par page et donc je dois recuperer le nbre total :

// Recuperation du nbre total 
$sql = "SELECT COUNT(t3.id) AS nbre FROM ".$GLOBALS["table_top"]." AS t1, ".$GLOBALS["table_albums"]." AS t2, ".$GLOBALS["table_photos"]." AS t3 LEFT JOIN ".$GLOBALS["table_votes"]." AS t4 ON t4.id_top=t1.id WHERE t1.top='".$session_top."' AND DATE_FORMAT(t1.date,'%Y-%m') = DATE_FORMAT(CURDATE(),'%Y-%m') AND t1.id_membre=t2.id_membre AND t2.id=t3.id_album AND t3.actif=1 AND t4.id_photo=t3.id GROUP BY t3.id";
$query = mysql_query($sql) or die("Erreur sur $sql :<br><br>".mysql_error());
while($data = mysql_fetch_array($query, MYSQL_ASSOC)){
$tab[] = $data["nbre"];
}

$nbre_total = count($tab);
$nbre_final = ($nbre_total<100) ? $nbre_total:100;
allserv
le 15/11/2005 à 22:32
Classement différé
Voilà la tête de mes tables :

-- --------------------------------------------------------

--
-- Structure de la table `gaybesac_albums`
--

CREATE TABLE `gaybesac_albums` (
`id` int(10) unsigned NOT NULL auto_increment,
`id_membre` int(10) unsigned NOT NULL default '0',
`type` tinyint(1) unsigned NOT NULL default '0',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
KEY `id_membre` (`id_membre`)
) TYPE=MyISAM AUTO_INCREMENT=1651 ;

-- --------------------------------------------------------

--
-- Structure de la table `gaybesac_basic`
--

CREATE TABLE `gaybesac_basic` (
`id` int(10) unsigned NOT NULL auto_increment,
`pseudo` varchar(30) NOT NULL default '',
`pass` varchar(10) NOT NULL default '',
`acces` tinyint(1) unsigned NOT NULL default '1',
`email` varchar(50) NOT NULL default '',
`nom` varchar(30) NOT NULL default '',
`prenom` varchar(30) NOT NULL default '',
`age` tinyint(2) unsigned NOT NULL default '0',
`sexe` tinyint(1) unsigned NOT NULL default '1',
`adresse` varchar(150) NOT NULL default '',
`ville` varchar(150) NOT NULL default '',
`situation_pro` varchar(150) NOT NULL default '',
`titre` varchar(150) NOT NULL default '',
`annonce_profil` text NOT NULL,
`orient_sexe` tinyint(1) unsigned NOT NULL default '0',
`attitude_sexe` tinyint(1) unsigned NOT NULL default '0',
`pays_renc` tinyint(1) unsigned NOT NULL default '0',
`dept1` tinyint(2) unsigned NOT NULL default '0',
`dept2` tinyint(2) unsigned NOT NULL default '0',
`dept3` tinyint(2) unsigned NOT NULL default '0',
`dept4` tinyint(2) unsigned NOT NULL default '0',
`origines` tinyint(1) unsigned NOT NULL default '0',
`situation` tinyint(1) unsigned NOT NULL default '0',
`yeux` tinyint(1) unsigned NOT NULL default '0',
`cheveux` tinyint(2) unsigned NOT NULL default '0',
`cheveux_nx` tinyint(1) unsigned NOT NULL default '0',
`taille` tinyint(3) unsigned NOT NULL default '0',
`poids` tinyint(1) unsigned NOT NULL default '0',
`pilosite` tinyint(1) unsigned NOT NULL default '0',
`apparence` tinyint(1) unsigned NOT NULL default '0',
`style` tinyint(1) unsigned NOT NULL default '0',
`tabac` tinyint(1) unsigned NOT NULL default '0',
`opinion_tabac` tinyint(1) unsigned NOT NULL default '0',
`lieu_rencontre` tinyint(1) unsigned NOT NULL default '0',
`webcam` tinyint(1) unsigned NOT NULL default '0',
`check_email` tinyint(1) unsigned NOT NULL default '0',
`offres` tinyint(1) unsigned NOT NULL default '0',
`connu` tinyint(1) unsigned NOT NULL default '0',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`last_visite` datetime NOT NULL default '0000-00-00 00:00:00',
`date_expiration` date default NULL,
`vus` int(10) unsigned NOT NULL default '0',
`actif` tinyint(1) unsigned NOT NULL default '0',
`clef` varchar(12) NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE KEY `id_3` (`id`),
UNIQUE KEY `id_2` (`id`),
KEY `id` (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1091 ;

-- --------------------------------------------------------

--
-- Structure de la table `gaybesac_photos_membres`
--

CREATE TABLE `gaybesac_photos_membres` (
`id` int(10) unsigned NOT NULL auto_increment,
`id_album` int(10) unsigned NOT NULL default '0',
`actif` tinyint(1) unsigned NOT NULL default '0',
`photo` varchar(30) NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
KEY `id_album` (`id_album`)
) TYPE=MyISAM AUTO_INCREMENT=2836 ;
allserv
le 08/11/2005 à 12:31
Classement différé
Bonjour,

Voilà j'ai un gros problème, j'ai un classement de photos qui se fait via un top 100.
Le problème c'est que c'est beaucoup trop long à laisser en temps réel, je souhaiterais donc trouver une solution.

Par exemple utiliser une tache cron qui toutes les 10min créent les pages du top.

J'aimerais avoir vos conseils quant à la réalisation de ce petit script.

Quelle est la meilleure façon de faire ?

Merci d'avance
allserv
le 10/10/2005 à 00:10
Possibilité de faire une miniature ss deformation ?
Bonsoir,

Voilà j'ai une question importante, j'ai plusieurs images ayant des dimensions différentes, est-ce possible de créer une miniature (50*50 par exemple) d'une partie de cette image sans que ce soit par exemple cette même image redimensionnée et déformée ?

En gros j'ai une image de 250*180 et je veux prendre un carré de 50*50 de cette image, c'est possible ?

Merci d'avance pour vos réponses
allserv
le 03/10/2005 à 22:45
Script multi-langues
Bonjour,

J'aimerais avoir des conseils car je vais développer un script mais il faut que plus tard il puisse évoluer dans d'autres langues, quelle est la meilleure façon de concevoir ce script ? Il faut que je définisse une page remplie de constantes pour chaque phrase ?

Merci d'avance de votre aide
allserv
le 14/08/2005 à 02:44
Prob changement calque
Bonsoir @ tous,

Voilà j'ai un petit problème, j'ai un calque qui doit accueillir du texte il se nomme div_reponse.

J'ai ma fonction qui permet de changer le contenu du calque :

function change_div(div,reponse){
message = "<div align='center'>"+reponse+"</div><br>";
document.getElementById(div).innerHTML = message;
}

Le problème c'est que le texte ayant un ' interrompt la chaine alors que la chaine de caractère issue de la base de données est alors passée par un addslashes :
<td><a href="javascript:void(0);" onclick="change_div('div_reponse','<?=addslashes(nl2br($data[reponse]));?>');"><?=$i;?> - <?=stripslashes($data["question"]);?></a></td>


Dans la source j'ai ceci par exemple :

<td><a href="javascript:void(0);" onclick="change_div('reponse','Allopass est une plateforme de paiement par téléphone (accessible mobile/fixe). Ce service est entièrement sécurisé et aucune information n\'est inscrite sur votre relevé télephonique.
');">6 - Qu'est-ce qu'Allopass ?</a></td>
</tr>

Lorsque l'on clique sur cette question ca devrait changer le contenu du calque, mais en fait non ca me mets une erreur javascript :
Erreur : unterminated string literal
Code Source :
change_div('div_reponse','Allopass est une plateforme de paiement par téléphone (accessible mobile/fixe). Ce service est entièrement sécurisé et aucune information n\'est inscrite sur votre relevé télephonique.

Quelqu'un pourrait m'aider car je vois pas ce qui cloche ?

Merci d'avance
allserv
le 31/07/2005 à 21:13
Verifier qu'une minature est deja crée ?!?
C'est bon j'ai trouvé, en comparant la date de modification de la miniature face a l'original :

function resize($file,$largeur,$hauteur) 
{
if(!file_exists($GLOBALS["upload"]."/mini_".$file) || filemtime($GLOBALS["upload"]."/mini_".$file)<filemtime($GLOBALS["upload"]."/".$file)){
@unlink($GLOBALS["upload"]."/mini_".$file);

$size = getimagesize($GLOBALS["upload"]."/".$file);

$dest_width = $largeur;
$dest_eight = ($hauteur=='') ? (($largeur*$size[1])/$size[0]) : 100;

$src_img = imagecreatefromjpeg($GLOBALS["upload"]."/".$file);
$dst_img = imagecreatetruecolor($dest_width,$dest_eight);

imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_eight,$size[0], $size[1]);
imagejpeg($dst_img,$GLOBALS["upload"]."/mini_".$file, 60);
imagedestroy($src_img);
imagedestroy($dst_img);
}
}
LoadingChargement en cours