Problème header php (Content-type)
Fermé
psy4_60
-
27 déc. 2009 à 01:56
psy4_60 Messages postés 2 Date d'inscription dimanche 27 décembre 2009 Statut Membre Dernière intervention 27 décembre 2009 - 27 déc. 2009 à 19:08
psy4_60 Messages postés 2 Date d'inscription dimanche 27 décembre 2009 Statut Membre Dernière intervention 27 décembre 2009 - 27 déc. 2009 à 19:08
A voir également:
- Problème header php (Content-type)
- Easy php - Télécharger - Divers Web & Internet
- Clear type - Guide
- Je suis content que tu ailles mieux ✓ - Forum Loisirs / Divertissements
- Retour a la ligne php ✓ - Forum PHP
- Faiblesse type psy ✓ - Forum Jeux vidéo
2 réponses
psy4_60
Messages postés
2
Date d'inscription
dimanche 27 décembre 2009
Statut
Membre
Dernière intervention
27 décembre 2009
27 déc. 2009 à 17:24
27 déc. 2009 à 17:24
bon maintenant ca marche mais sans le session_start(), j'ai été voir sur le net et j'ai trouver ca sur la fonction session_start():
Note: Cette fonction va émettre plusieurs entêtes HTTP, en fonction de la configuration. Voyez session_cache_limiter() pour personnaliser ces entêtes.
session_cache_limiter() :
En mode private , l'en-tête Expire envoyé au client peut poser des problèmes à certains navigateurs, comme, notamment, Mozilla . Vous pouvez éviter ce problème avec le mode private_no_expire . L'en-tête Expire n'est jamais envoyé au navigateur pour ce mode.
je vais tester ca :)
EDIT :ca ne fonctionne ni avec private_no_expire ni avec none;
il y a toujours le problème de header.
un truc qui me parait bizarre, c'est que j'avais fait le même script pour l'affichage d'image ( c'est presque un copier collé) avec un session_start(); et un header('Content-type: image/jpeg'); et ca fonctionnait.
J'utilisais gd2 pour les images et la fonction imagejpeg(); pour afficher les images,
peut etre que c'est ca qui fesait que ca marche, mais la il y a pas de librairie pour les vidéo donc il va falloir trouver une alternative,
j'ai ma petite idée, mais j'aimerais bien savoir si il y a moyen de faire quelque chose.
Note: Cette fonction va émettre plusieurs entêtes HTTP, en fonction de la configuration. Voyez session_cache_limiter() pour personnaliser ces entêtes.
session_cache_limiter() :
En mode private , l'en-tête Expire envoyé au client peut poser des problèmes à certains navigateurs, comme, notamment, Mozilla . Vous pouvez éviter ce problème avec le mode private_no_expire . L'en-tête Expire n'est jamais envoyé au navigateur pour ce mode.
je vais tester ca :)
EDIT :ca ne fonctionne ni avec private_no_expire ni avec none;
il y a toujours le problème de header.
un truc qui me parait bizarre, c'est que j'avais fait le même script pour l'affichage d'image ( c'est presque un copier collé) avec un session_start(); et un header('Content-type: image/jpeg'); et ca fonctionnait.
J'utilisais gd2 pour les images et la fonction imagejpeg(); pour afficher les images,
peut etre que c'est ca qui fesait que ca marche, mais la il y a pas de librairie pour les vidéo donc il va falloir trouver une alternative,
j'ai ma petite idée, mais j'aimerais bien savoir si il y a moyen de faire quelque chose.
psy4_60
Messages postés
2
Date d'inscription
dimanche 27 décembre 2009
Statut
Membre
Dernière intervention
27 décembre 2009
27 déc. 2009 à 19:08
27 déc. 2009 à 19:08
bon j'ai modifier le code, plus de plantage de firefox, mais toujours pas de video :
[code]if(isset($_GET['id']))
{
$id=mysql_escape_string(htmlspecialchars($_GET["id"]));
$req=mysql_query("SELECT * FROM vid WHERE id='$id'");
$lien=mysql_fetch_array($req);
$lien=$lien["lien"];
if(preg_match("#.wmv$#",$lien))
{
header("Content-type: video/x-ms-wmv");
header('Content-Disposition: inline; filename="movie.mpg"');
}
elseif(preg_match("#.mpg$#",$lien))
{
header("Content-type: video/mpeg");
header('Content-Disposition: inline; filename="movie.mpg"');
}
elseif(preg_match("#.avi$#",$lien))
{
header("Content-type: video/avi");
header('Content-Disposition: inline; filename="movie.avi"');
}
header('Content-Length: '.filesize($lien));
session_start();
if((isset($_SESSION["pseudo"]))and(isset($_SESSION["pwd"])))
{
readfile($lien);
}
}/code
[code]if(isset($_GET['id']))
{
$id=mysql_escape_string(htmlspecialchars($_GET["id"]));
$req=mysql_query("SELECT * FROM vid WHERE id='$id'");
$lien=mysql_fetch_array($req);
$lien=$lien["lien"];
if(preg_match("#.wmv$#",$lien))
{
header("Content-type: video/x-ms-wmv");
header('Content-Disposition: inline; filename="movie.mpg"');
}
elseif(preg_match("#.mpg$#",$lien))
{
header("Content-type: video/mpeg");
header('Content-Disposition: inline; filename="movie.mpg"');
}
elseif(preg_match("#.avi$#",$lien))
{
header("Content-type: video/avi");
header('Content-Disposition: inline; filename="movie.avi"');
}
header('Content-Length: '.filesize($lien));
session_start();
if((isset($_SESSION["pseudo"]))and(isset($_SESSION["pwd"])))
{
readfile($lien);
}
}/code