IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Meta refresh dynamique + PHP +Generation IMG miniature


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 17
    Points : 14
    Points
    14
    Par défaut Meta refresh dynamique + PHP +Generation IMG miniature
    Bonjour a tous,
    Alors , le problème viens du fait que j'exécute un script trés long ( qui redimensionne un beaucoup d'images dans X ou Y dossier, avec génération de cadre et tout les boxon ) et donc j'avais la fameuse fatal erreur de 30 secondes... Car impossible de générer les X images à la voler.


    Donc l'idée étant de ne pas bloquer l'utilisateur sur une page qui ce charge,(ou de ne pas faire une page clignotante en méta sur cette meme pages ) j'affiche un popup qui est généré en php dont voici le code ( code bourrin je préviens )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
           echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
    	echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">';
    	echo '<head><title>'.$_GET['num'].'</title>';
    	echo $_GET['rmk_biblio']; //NOM DU DOSSIER
    	echo $_GET['num']; // NUMERO AU QUELLE LA GENERATION C'EST ARRéTé AU PRECEDENT REFRESH
    	echo $_GET['pas']=10; // génération par lots de 10 images 
    	if(!isset($_GET['num']))
    	{
    	//echo "DELETE"; //Premiere lecture, on efface les miniatures ( fonction delete)
    	$diaporama->delete($_GET['rmk_biblio']);		
    	$diaporama->miniature($_GET['rmk_biblio'],0,10)// on genere les image de 0 a 10 de du dossier $_GET['rmk_biblio']
           }
    	else
    	{
    			// Xieme génération 
    		 $diaporama->miniature($_GET['rmk_biblio'],$_GET['num'],10);
    	}
     
    	echo '<meta http-equiv="Refresh" ' .
    	'content="5" url="generateur.php?rmk_biblio='.$_GET['rmk_biblio'].'
    &amp;num='.($_GET['pas']+$_GET['num']+1).' // On cherche la prochaine plage de génération
    &amp;pas=10" />';
    	echo '</head>';
    	echo '</html>';
    A noter que le $_GET['rmk_biblio'] passe bien en parametre mais pas les autres variables...
    J'ai beau ouvrire mes grand yeux je ne vois pas ou peut etre le probleme. Il me semble que j'ai bien ouvert/fermer les guillemets simple/double....
    En vous remerciant

    Benoit

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo '<meta http-equiv="Refresh" ' .
    	'content="5" url="generateur.php?rmk_biblio='.$_GET['rmk_biblio'].'
    &amp;num='.($_GET['pas']+$_GET['num']+1).' // On cherche la prochaine plage de génération
    &amp;pas=10" />';
    Heu... A mon avis le commentaire est DANS la chaine ^^ et je pense qu'il ne faut pas utiliser &amp; mais bien & directement.

    Si je peux te proposer une autre solution (puisque tu est dans les solutions bourrins, ca te plaira peut etre ^^) :

    Tu affiches certainement ces miniatures sur une page cible, et ces miniatures sont dans un dossier spécifique.

    L'idée c'est de mettre un .htaccess dans le dossier des miniatures qui va rediriger les erreurs 404 vers un fichier php générant la miniature a la volée et qui l'affiche ensuite !

    En effet, lors d'une redirection 404 via .htaccess, la variable $_SERVER['REQUEST_URI'] est conservée, tu sais donc quelle URL n'a pu etre chargée. Tu peux donc en déduire la miniature qui manque et la générer.

    Ainsi, au lieu d'avoir :
    * Une grosse page php qui construit toutes les miniatures => timeout
    * Affichage de la page et des miniatures

    Tu auras :
    * Affichage de la page et des miniatures
    * Génération a la volée des miniatures par X pages php si elles n'existent pas

    Attention, si t'as 5000 miniatures, ca te fait 5000 requetes GET en 404 suivies de 5000 requetes GET vers une page php de génération ^^

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Salut merci pour la réponse, j'ai déjà essayer sans commentaire et avec des vrai &...
    Il veut rien savoir le bougre!!!:@ lol

    ton idée est très intéressante cette solution me semble difficile à mettre en place, mais je vais voir ce que je peux faire!
    Je te remercie
    Benoit

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    Citation Envoyé par PrOkIuM Voir le message
    Salut merci pour la réponse, j'ai déjà essayer sans commentaire et avec des vrai &...
    Il veut rien savoir le bougre!!!:@ lol

    ton idée est très intéressante cette solution me semble difficile à mettre en place, mais je vais voir ce que je peux faire!
    Je te remercie
    Benoit
    non mais actuellement, ca génere le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Refresh" content="5" url="generateur.php?rmk_biblio=...&amp;num=... // On cherche la prochaine plage de génération &amp;pas=10" />
    ce qui ne peux PAS etre correct

    Remplace Refresh par "truc" pour qu'il ne rafraichisse pas la page et regarde son code source dans le navigateur, tu verras la tete du code généré ;o)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head><title></title>
    diap2<meta http-equiv="refresh" content="5" url="module/diaporama/conf.php?rmk_biblio=diap2&num=11&pas=10" />
    </head>
    </html>

    je craque :'( lol

  6. #6
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    Quand rien ne marche, faut revenir a la doc ;o)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    J'ai reussi !!!!! MOuhahahha
    [crackage => off ]

    Donc
    pour cela j'ai fais un refresh non avec une meta mais avec du JS et la pas de probleme!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    	echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'."\n\r";
    	echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">'."\n\r";
    	echo '<head><title>'.$_GET['num'].'</title>'."\n\r";
    	echo '<meta http-equiv="cache-controle" content="no-cache">'."\n\r";
     
    	$params = explode("!", $_GET['rmk_biblio']);
    	echo $dossier =$_GET['rmk_biblio'];
    	echo $num=$_GET['num'];
    	echo $pas=$_GET['pas'];
     
     
     
    	if(!isset($_GET['num']))
    	{
    	//echo "DELETE";
    	$diaporama->delete($dossier);		
    	$diaporama->miniature($dossier,0,10);
    	$pas=10;
    	$num=0;
    	//echo "MIN";
    	}
    	else
    	{
    			//echo "MIN";
    		 $return=$diaporama->miniature($dossier,$num,10);
    		if ($return==1)
    		{
    			echo "Vous pouvez quiter";
    			exit;
    		}
    	}
    	echo "<script>" ."\n\r".
    		" javascript:location.href='/module/diaporama/conf.php?rmk_biblio='+escape('".$dossier."')+'&num='+escape('".($pas+$num+1)."')+'&pas=10';</script>";
    	echo '</head>'."\n\r";
    	echo '</html>'."\n\r";
    merci Fladnag pour ton aide!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL] Liste déroulante dynamique PHP only
    Par gforce dans le forum PHP & Base de données
    Réponses: 24
    Dernier message: 11/05/2006, 21h30
  2. Metas tags dynamique
    Par d.w.d dans le forum Langage
    Réponses: 3
    Dernier message: 13/04/2006, 15h02
  3. plantage fils RSS avec adresse dynamique PHP et RSS
    Par rozow dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 22/03/2006, 16h31
  4. Réponses: 2
    Dernier message: 08/01/2006, 20h50
  5. [PostgreSQL] [PostGreSQL] menu dynamique php-postgre-css
    Par tyrann dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 02/11/2005, 17h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo