[PHP] fournir un fichier hors document root

fournir un fichier hors document root [PHP] - PHP - Programmation

Marsh Posté le 25-01-2011 à 16:04:39    

Hello
 
je voudrais fournir une interface web pour lire des videos flash.
Mon problème est que les fichier flv ne sont pas dans l'arborescence www du server web, donc je ne peux pas fournir une adresse pour lire le flv de type http://monsite/mavideo.flv, ni directement, ni dans un paramètre quelconque d'un player swf.
 
en gros :  
j'ai :
/home/video  qui contient mes fichiers flv
/home/www  qui contient mon arborescence web.
 
j'ai eu le même problème avec des fichiers JPEG, que j'ai réglé comme ca :
fichier getimage.php

Code :
  1. header("Content-Type: image/jpeg" );
  2. $id = $_GET['image_id'];
  3. $imagepath= getPathFromId($id); //je récupère le chemin /home/photos/ma_photo.jpg avec des vérifications de mon coté
  4. $image = imagecreatefromjpeg($imagepath);
  5. imagejpeg($image);
  6. imagedestroy($image);


 
 
Mon problème, donc, avec la video flash, est que je je sais pas s'il existe un équivalent à imagecreatefromjpeg pour flash.
 
Voilà. est ce que quelq'un a une idée pour un fonctionnement similaire avec des fichiers flash ?
 
Merci
 
:jap:

Reply

Marsh Posté le 25-01-2011 à 16:04:39   

Reply

Marsh Posté le 25-01-2011 à 17:08:10    

Code :
  1. header("Content-Type: image/jpeg" );
  2. $id = $_GET['image_id'];
  3. $imagepath= getPathFromId($id); //je récupère le chemin /home/photos/ma_photo.jpg avec des vérifications de mon coté
  4. if($imagepath){
  5.   readfile($imagepath);
  6. }


 
idem avec le flv, en mettant le bon header

Reply

Marsh Posté le 26-01-2011 à 10:45:52    

Hello et merci pour la réponse  
 
ca marche bien :)
 
j'avais vu une méthode à base de  

Code :
  1. $fh = fopen($path,'rb');
  2. fseek($fh, 0);
  3. while (!feof($fh)){
  4.     print(fread($fh, 8192));
  5. }
  6. fclose($fh);


 
est ce que la méthode 2 est plus adaptée dans certaines situations (gros fichiers ?) ou c'est plus ou moins identique ?
 
:jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed