j'ai des images sur mon site que je ne souhaite afficher que pour les
membres
authentifiés. Ces images sont dans un dossier et ne sont pas visibles par
apache
Je souhaite donc créer un script disons image.php qui sera fortement
sollicité
plusieurs images (parfois de grande taille) dans chaque page html
Se pose donc le pb de performance
Je souhaite appeler le script comme ceci
<img src="image.php?img=nomimage">
Existe-t-il une fonction php pour charger un fichier image ?
Est-il mieux de lire chaque image puis de faire un print ?
Est ce mieux de lire l'image avec la fonction "file" en une fois ou
de lire ligne par ligne "fread" ou lire une chaine file_get_contents...
Je sais tester l'authentification rester à trouver une façon plus
simple et performante pour afficher les images.
Merci de votre aide.
Pierre.
-----
Posté via http://www.usenetgratuit.com/ plus de 40 000 newsgroups sur le
Web. Pour signaler un abus : abuse@usenetgratuit.com
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pascal (Collectours)
Pierre Genieys wrote:
Bonjour,
j'ai des images sur mon site que je ne souhaite afficher que pour les membres authentifiés. Ces images sont dans un dossier et ne sont pas visibles par apache Je souhaite donc créer un script disons image.php qui sera fortement sollicité plusieurs images (parfois de grande taille) dans chaque page html Se pose donc le pb de performance
Je souhaite appeler le script comme ceci <img src="image.php?img=nomimage"> [snip]
Bonjour, vous pouvez essayer le code suivant : # les content-type $content_types = array( 'gif'=> "image/gif" ,'jpg' =>"image/jpeg" ,..autres);
$img = $_GET['img'];
# vérifie qu'on demande bien le bon type, et le prépare $match_exts = '/.('. implode('|',array_keys($content_types)) .')$/' ; if (! preg_match($match_exts, $img, $matches)) { exit; }
# le bon header header("Content-type: ". $content_types[$matches[1]] );
# la cuisine pour reconstruire le chemin d'accès réel à l'image # et qui doit effectuer les véfications de sécurité pour éviter # les petits malins qui # passeraient des choses agressives (../..) dans img $out_img_path = f_la_cuisine_qui_va_bien($img); # et on transfère l'image readfile($out_img_path);
Mais comme vous l'indiquez , des problèmes de charge risquent de se produire. Personnellement, je reconsidérerais le fait que les images soient dans un dossier inaccessible à Apache. Je les mettrais dans un répertoire protégé par une authentification gérée par le serveur. http://httpd.apache.org/docs/howto/auth.html#database Cordialement
Pierre Genieys wrote:
Bonjour,
j'ai des images sur mon site que je ne souhaite afficher que pour les
membres
authentifiés. Ces images sont dans un dossier et ne sont pas visibles par
apache
Je souhaite donc créer un script disons image.php qui sera fortement
sollicité
plusieurs images (parfois de grande taille) dans chaque page html
Se pose donc le pb de performance
Je souhaite appeler le script comme ceci
<img src="image.php?img=nomimage">
[snip]
Bonjour,
vous pouvez essayer le code suivant :
# les content-type
$content_types = array( 'gif'=> "image/gif"
,'jpg' =>"image/jpeg"
,..autres);
$img = $_GET['img'];
# vérifie qu'on demande bien le bon type, et le prépare
$match_exts = '/.('. implode('|',array_keys($content_types)) .')$/' ;
if (! preg_match($match_exts, $img, $matches)) {
exit;
}
# le bon header
header("Content-type: ". $content_types[$matches[1]] );
# la cuisine pour reconstruire le chemin d'accès réel à l'image
# et qui doit effectuer les véfications de sécurité pour éviter
# les petits malins qui
# passeraient des choses agressives (../..) dans img
$out_img_path = f_la_cuisine_qui_va_bien($img);
# et on transfère l'image
readfile($out_img_path);
Mais comme vous l'indiquez , des problèmes de charge risquent de se
produire.
Personnellement, je reconsidérerais le fait que les images soient dans un
dossier inaccessible à Apache.
Je les mettrais dans un répertoire protégé par une authentification gérée
par le serveur.
http://httpd.apache.org/docs/howto/auth.html#database
Cordialement
j'ai des images sur mon site que je ne souhaite afficher que pour les membres authentifiés. Ces images sont dans un dossier et ne sont pas visibles par apache Je souhaite donc créer un script disons image.php qui sera fortement sollicité plusieurs images (parfois de grande taille) dans chaque page html Se pose donc le pb de performance
Je souhaite appeler le script comme ceci <img src="image.php?img=nomimage"> [snip]
Bonjour, vous pouvez essayer le code suivant : # les content-type $content_types = array( 'gif'=> "image/gif" ,'jpg' =>"image/jpeg" ,..autres);
$img = $_GET['img'];
# vérifie qu'on demande bien le bon type, et le prépare $match_exts = '/.('. implode('|',array_keys($content_types)) .')$/' ; if (! preg_match($match_exts, $img, $matches)) { exit; }
# le bon header header("Content-type: ". $content_types[$matches[1]] );
# la cuisine pour reconstruire le chemin d'accès réel à l'image # et qui doit effectuer les véfications de sécurité pour éviter # les petits malins qui # passeraient des choses agressives (../..) dans img $out_img_path = f_la_cuisine_qui_va_bien($img); # et on transfère l'image readfile($out_img_path);
Mais comme vous l'indiquez , des problèmes de charge risquent de se produire. Personnellement, je reconsidérerais le fait que les images soient dans un dossier inaccessible à Apache. Je les mettrais dans un répertoire protégé par une authentification gérée par le serveur. http://httpd.apache.org/docs/howto/auth.html#database Cordialement
Guillaume Bouchard
Pierre Genieys wrote:
Existe-t-il une fonction php pour charger un fichier image ?
readfile() ?
Enfin d'un autre coté cela reste quand même degeu :)
-- Guillaume.
Pierre Genieys wrote:
Existe-t-il une fonction php pour charger un fichier image ?
readfile() ?
Enfin d'un autre coté cela reste quand même degeu :)
Existe-t-il une fonction php pour charger un fichier image ?
readfile() ?
Enfin d'un autre coté cela reste quand même degeu :)
-- Guillaume.
Vincent Courcelle
"Pierre Genieys" a écrit dans le message de news:40d9dda1$0$28070$
Existe-t-il une fonction php pour charger un fichier image ? Est-il mieux de lire chaque image puis de faire un print ? Est ce mieux de lire l'image avec la fonction "file" en une fois ou de lire ligne par ligne "fread" ou lire une chaine file_get_contents...
c'est mieux de faire un fpassthru après avoir envoyé les entetes adéquates : header("Content-type: image/gif"); header("Content-length: ".filesize("image.gif"));
(intervertible avec jpeg evidemmment)
"Pierre Genieys" <p_genieys@yahoo.fr> a écrit dans le message de
news:40d9dda1$0$28070$626a14ce@news.free.fr...
Existe-t-il une fonction php pour charger un fichier image ?
Est-il mieux de lire chaque image puis de faire un print ?
Est ce mieux de lire l'image avec la fonction "file" en une fois ou
de lire ligne par ligne "fread" ou lire une chaine file_get_contents...
c'est mieux de faire un fpassthru après avoir envoyé les entetes adéquates :
header("Content-type: image/gif");
header("Content-length: ".filesize("image.gif"));
"Pierre Genieys" a écrit dans le message de news:40d9dda1$0$28070$
Existe-t-il une fonction php pour charger un fichier image ? Est-il mieux de lire chaque image puis de faire un print ? Est ce mieux de lire l'image avec la fonction "file" en une fois ou de lire ligne par ligne "fread" ou lire une chaine file_get_contents...
c'est mieux de faire un fpassthru après avoir envoyé les entetes adéquates : header("Content-type: image/gif"); header("Content-length: ".filesize("image.gif"));
(intervertible avec jpeg evidemmment)
loufoque
Pierre Genieys wrote:
Existe-t-il une fonction php pour charger un fichier image ? header('Content-type: image/jpeg'); // par exemple
readfile('/quelque/part/'.$_GET['nom_image']);
Est-il mieux de lire chaque image puis de faire un print ? C'est ce qu'on fait, non ?
Est ce mieux de lire l'image avec la fonction "file" en une fois ou de lire ligne par ligne "fread" ou lire une chaine file_get_contents... Puisqu'une fonction fait tout d'un coup, pourquoi s'en priver ?
reste à trouver une façon plus simple et performante pour afficher les images. Les rendre accessibles par Apache ?
Merci de votre aide. De rien
Pierre Genieys wrote:
Existe-t-il une fonction php pour charger un fichier image ?
header('Content-type: image/jpeg'); // par exemple
readfile('/quelque/part/'.$_GET['nom_image']);
Est-il mieux de lire chaque image puis de faire un print ?
C'est ce qu'on fait, non ?
Est ce mieux de lire l'image avec la fonction "file" en une fois ou
de lire ligne par ligne "fread" ou lire une chaine file_get_contents...
Puisqu'une fonction fait tout d'un coup, pourquoi s'en priver ?
reste à trouver une façon plus
simple et performante pour afficher les images.
Les rendre accessibles par Apache ?
Existe-t-il une fonction php pour charger un fichier image ? header('Content-type: image/jpeg'); // par exemple
readfile('/quelque/part/'.$_GET['nom_image']);
Est-il mieux de lire chaque image puis de faire un print ? C'est ce qu'on fait, non ?
Est ce mieux de lire l'image avec la fonction "file" en une fois ou de lire ligne par ligne "fread" ou lire une chaine file_get_contents... Puisqu'une fonction fait tout d'un coup, pourquoi s'en priver ?
reste à trouver une façon plus simple et performante pour afficher les images. Les rendre accessibles par Apache ?