Maison > développement back-end > Problème PHP > Comment implémenter PHP pour fermer la page tout en l'exécutant

Comment implémenter PHP pour fermer la page tout en l'exécutant

藏色散人
Libérer: 2023-03-03 21:08:01
original
2849 Les gens l'ont consulté

En PHP, vous pouvez utiliser la fonction "ignore_user_abort" pour implémenter la fonction de fermeture de la page et continuer à l'exécuter. La syntaxe est "ignore_user_abort(true);", ce qui signifie que le script PHP peut continuer à. s'exécuter même si le client est déconnecté.

Comment implémenter PHP pour fermer la page tout en l'exécutant

Recommandé : "Tutoriel vidéo PHP"

Fonction de tâche planifiée PHP qui continue de s'exécuter après la fermeture du navigateur

Nom de la fonction : ignore_user_abort

Cette fonction configure ou obtient si le programme PHP continuera à s'exécuter après l'interruption de la connexion client. La valeur par défaut est d'arrêter l'exécution après la déconnexion. L'option ignore_user_abort dans le fichier de configuration PHP (php3.ini/php.ini) est l'emplacement de configuration. Cette fonctionnalité n'est disponible qu'après la version PHP 3.0.7.

Description officielle : http://cn2.php.net/manual/en/function.ignore-user-abort.php

Utilisation :

Le code est tel suit :

ignore_user_abort(true); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行.
Copier après la connexion

De cette façon, l'effet de tâche planifiée peut être obtenu. Cependant, le client doit toujours accéder au programme

Par exemple, lors de la génération de pages statiques et de la collecte de données. il n'est pas nécessaire d'attendre. Fermez le navigateur.

Exemple :

Le code est le suivant :

//test
set_time_limit(0);
ignore_user_abort(true);
$i = 0 ;
while($i ++ < 200){
file_put_contents($i.&#39;.php&#39; , $i);
sleep(3);
}
Copier après la connexion

Utilisez la fonction ignore_user_abort pour implémenter les tâches planifiées PHP

Le code est le suivant :

<?php
ignore_user_abort(true);
set_time_limit(0);
while(1) {
  $fp = fopen(&#39;time_task.txt&#39;,"a+");
  $str = date("Y-m-d h:i:s")."\n\r";
  fwrite($fp,$str);
  fclose($fp);
  sleep(5); //半小时执行一次
}
?>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal