par
Mass » 19 juin 2010, 16:38
Bonjour à tous,
J'ai fait un petit script pour copier un fichier distant sur mon serveur avec fread. Je sais que copy remplit cette fonction mais avec fread, je peux crypter le fichier avant de le créer sur mon serveur.
Malheureusement, fread($file,filesize($adr)) ne fonctionne pas car filesize ne marche vraisemblablement qu'en local.
J'ai vu sur internet un code utilisant un while :
while(!feof($file))
{
$contenu.=fread($file,1024);
}
malheureusement (encore), ce script provoque un plantage du navigateur au bout d'un certain temps, le tout en étant extrêmement lent (testé en local avec apache).
D'où vient ce lag ? Je suppose que c'est la fonction fread utilisé en boucle des dizaines de milliers de fois qui ne lui fait pas du bien... Puis-je lire plus de 1024 à chaque fois pour diminuer le nombre d'opérations ? Existe-t-il un alias à filesize() qui fonctionne sur un serveur distant ?
Merci.
Bonjour à tous,
J'ai fait un petit script pour copier un fichier distant sur mon serveur avec fread. Je sais que copy remplit cette fonction mais avec fread, je peux crypter le fichier avant de le créer sur mon serveur.
Malheureusement, fread($file,filesize($adr)) ne fonctionne pas car filesize ne marche vraisemblablement qu'en local.
J'ai vu sur internet un code utilisant un while :
while(!feof($file))
{
$contenu.=fread($file,1024);
}
malheureusement (encore), ce script provoque un plantage du navigateur au bout d'un certain temps, le tout en étant extrêmement lent (testé en local avec apache).
D'où vient ce lag ? Je suppose que c'est la fonction fread utilisé en boucle des dizaines de milliers de fois qui ne lui fait pas du bien... Puis-je lire plus de 1024 à chaque fois pour diminuer le nombre d'opérations ? Existe-t-il un alias à filesize() qui fonctionne sur un serveur distant ?
Merci.