2010-10-20 4 views
1

J'ai un script PHP qui utilise la fonction exec() pour exécuter curl pour télécharger le fichier. Le fichier est d'environ 600mb. Ainsi, lorsque j'accède au fichier php sur un navigateur, les navigateurs me montrent le message 'attente de réponse'.Évitez «attendre une réponse» en php?

Comment puis-je éviter cela?

ma source php est

$ a = exec ("boucle 'http://lab.test.com/test/test/down.php?c=23212' -o 'test.avi'")

+0

Je crois qu'il ya un moyen appeler 'exec' pour fonctionner de manière asynchrone. – drudge

Répondre

1

Pour un hôte Linux, vous ne devriez avoir besoin d'ajouter & à la fin de votre exec() appel:

$a = exec("curl 'http://lab.test.com/test/test/down.php?c=23212' -o 'test.avi' &"); 

Il est un peu plus complexe pour Windows:

$WshShell = new COM("WScript.Shell"); 
$a = $WshShell->Run("curl 'http://lab.test.com/test/test/down.php?c=23212' -o 'test.avi'", 0, false); 
+0

cela peut ne pas fonctionner sur la plate-forme Windows, ne peut pas fonctionner dans la console non-bash installé par défaut. – Svisstack

Questions connexes