Page 1 sur 1

fseek et http

Publié : 12 déc. 2007, 05:57
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

Publié : 12 déc. 2007, 10:14
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

Publié : 12 déc. 2007, 11:04
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