fseek et http

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
lpgc
Lézard à collerette
Messages : 259
Inscription : 16 juil. 2006, 01:02

fseek et http

Message par lpgc »

bonjour,

j'ouvre une image bmp avec cette fonction :

$fbmp = fopen("http://localhost/...../bigstore.bmp", "rb")

et quand j'essaie de positionner le pointeur dans le fichier avec le fonction :

fseek($fbmp, $pointeur )

je reçois ce Warning :
fseek() [function.fseek]: stream does not support seeking in ...

La doc dit :
fseek() ne peut pas être utilisé sur les pointeurs retournés par fopen() s'ils sont au format HTTP ou FTP. fseek() donne également des résultats indéfinis pour les flux "append-only" (ouvert avec le flag "a").
Une idée comment contourner ce problème ?
Merci

PS. SI je fais :
$fbmp = fopen("bigstore.bmp", "rb") :arrow: fseek fonctionne très bien ...
le problème c'est que je dois lire des fichiers bmp externes à mon serveur

et le stocker temporairement en local n'est pas vraiment une solus non plus :roll:

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12
Fabrice.Tres.Net
Tyrannosaurus Rex
Messages : 2390
Inscription : 26 juin 2006, 12:50

Message par Fabrice.Tres.Net »

Le déplacement du pointeur de lecture/écriture dans un fichier ne peut être fait qu'en local (ou via un réseau partagé nfs, rfs, (samba?),...) car chque ouverture du fichier provoque la réinitialisation du pointeur (idem en cas d'accès concurrent au même fichier). Donc tu n'as certainement pas beaucoup de choix: copie en local de ton fichier.
Si tu trouves d'autres solutions fais nous le savoir. merci
lpgc
Lézard à collerette
Messages : 259
Inscription : 16 juil. 2006, 01:02

Message par lpgc »

Fabrice.Tres.Net a écrit :Le déplacement du pointeur de lecture/écriture dans un fichier ne peut être fait qu'en local (ou via un réseau partagé nfs, rfs, (samba?),...) car chque ouverture du fichier provoque la réinitialisation du pointeur (idem en cas d'accès concurrent au même fichier). Donc tu n'as certainement pas beaucoup de choix: copie en local de ton fichier.
Si tu trouves d'autres solutions fais nous le savoir. merci
Très instructif ... Merci :D

.... J'avais un peu envisagé la même solus ( en ayant consulté le Web )

gros inconvénient les accès concurrents ou alors il est nécessaire d'avoir
un fichier par client ( client-serveur)
et en bmp ... ( 10 fois plus gros qu'un jpeg au moins )
çà risque de devenier assez lourd pour un petit serveur ...

Sinon j'avais aussi pensé de traiter les stream en mémoire ...
même de gros bmp çà devrait passer ....

Malheureusement ... je n'ai aucune :idea: de par où débuter :roll:
( mais je cherche :wink: .... )


Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités