Bonjour à tous,

J'ai un petit problème avec la fonction readfile.
Je souhaite faire une page HTML de visualisation de fichiers : texte, image ou son.

J'ai donc deux fichiers php.

Le premier, readfile.php, permet de lire un fichier sur le disque :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<?php
  header("Content-Type: ".$file->mime);
  $header="Content-disposition: inline; filename=".$file->name;
  header($header );
  readfile("./files/".$file->path);
?>
Le second, readsound.php, permet de lire un fichier audio dans une page HTML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<html>
  <embed src='/readfile.php?file=<?php print($file->id); ?>' width='320' height='240' autostart='true' autoload='false' border='0' loop='0'>
</html>
Le probleme, c'est que le fichier n'arrive pas entier apparement, puisqu'il ne dure que quelques secondes et qu'il y a pas de sons à certains moments.

La solution intermédiaire, par le fichier readsound2.php fonctionne très bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<html>
  <embed src='/files/<?php print($file->path); ?>' width='320' height='240' autostart='true' autoload='false' border='0' loop='0'>
</html>
Mais je ne veut pas faire comme ça, car je ne veut pas que les utilisateurs puissent connaître l'adresse directe d'un fichier (en effet, il y a controle d'idendité avant la lecture du fichier)...

Merci d'avance de votre aide