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 :

header, range et location


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 52
    Par défaut header, range et location
    Salut,

    je suis peut être limite border line, mais je voulais savoir si les headers range et location sont compatibles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $size2  = $filesize - 1;
    $updated_length = $filesize - $pos;
    header("HTTP/1.1 206 Partial Content");
    header("Content-Length: $updated_length");
    header("Content-Range: bytes $pos-$size2/$filesize");
    header("Location: ".$filename);
    Ce code, syntaxiquement correct, renvoit le fichier en entier.
    Bref, l'idée étant de redirigée vers une partie d'un fichier, et non vers le fichier en entier.

    Merci d'avance !
    ++

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Par défaut
    Tu t'es tromper de coté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location: http://www.google.fr/");
    est utilisé lorsque le serveur veut renvoyé (à l'aide de Header Location) ailleurs.

    ----------------------------------OUUUUPPSSSSSS----------

    OUPSS désolé, c'est moi qui me plante,

    mais je ne pense pas que Location puisse être compatible avec Content-Range, tout simplement parce que Content Range stipule qu'elles sont les parties du fichier que tu demandes, alors que Location lui, te renvoie ailleurs.

    D'ailleur HTTP/1.1 206 Partial Content pour Content-Range:
    et HTTP/1.1 301 Moved pour Location

    Deux Headers totalement différent...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 52
    Par défaut
    Salut juJuv,

    J'avais en tête ces mêmes commentaires, mais n'étant pas, j'ai sollicité un regard extérieur.
    Dommage que ça ne puisse pas fonctionner .

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Par défaut
    Tu veux faire quoi exactement?

    si tu veux faire une sorte de substitue aux streaming, je te souhaite bonne chance.
    (je pense que c'est tout de mêmes possible)

    Il faut envoyer directement les requêtes HTTP aux serveur sur lequel tu veux prendre une parti du fichier...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 52
    Par défaut
    Grâce à tes indications sur mon post précédent, je peux streamer un fichier distant : le serveur Web va chercher les parties distantes et les renvoie au client. Dans ce cas, c'est le serveur Web qui renvoie les données.

    Pour aller plus loin, l'idéal serait que ce soit le serveur distant (celui qui héberge le fichier) qui renvoit directement les parties demandées au client.
    Moins d'intermédaire et plus de SPOF (Single Point Of Failure) ou presque.

    Tu vois ce que je veux dire ?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Par défaut
    ouais (enfin je crois)

    c'est simple, tu récupères les partis et tu les affiches directement, comme si tu faisait un fopen classique, sauf qu'ici, tu n'as juste qu'à afficher les partis télécharger par ton intermédiaire.
    Il faut juste que tu penses au header qui force le téléchargement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    header("Content-type: application/force-download;");
    header("Content-Transfer-Encoding: binary");
    header("Content-Disposition: attachment; filename=\"monfichier.zip\"");
    header("Cache-Control: no-cache, must-revalidate");
    plus d'info

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

Discussions similaires

  1. Mon header("Location: page.php"); ne fonctionne pa
    Par Flushovsky dans le forum Langage
    Réponses: 17
    Dernier message: 24/03/2006, 23h49
  2. [header location]
    Par agougeon dans le forum Langage
    Réponses: 5
    Dernier message: 11/01/2006, 20h26
  3. Actualiser une page après un "header location"
    Par salva57 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 15
    Dernier message: 10/01/2006, 22h09
  4. header('Location:$url') VS session_start()
    Par Paniez dans le forum Langage
    Réponses: 2
    Dernier message: 02/12/2005, 22h30
  5. [FTP] problème header("location:......")
    Par K4trix dans le forum Langage
    Réponses: 23
    Dernier message: 30/11/2005, 11h53

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