后台执行php页面,php前端页面

本文目录一览:

php中怎么实现后台执行

具体代码如下:

?php

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, ”);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file_contents = curl_exec($ch);

curl_close($ch);

echo $file_contents;

?

PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。

它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,

执行效率比完全生成HTML标记的CGI要高许多;

PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

求助各位大神,请问PHP脚本如何实现后台执行

ignore_user_abort(true); // 后台运行

set_time_limit(0); // 取消脚本运行时间的超时上限

后台运行的后面还要,set_time_limit(0); 除非在服务器上关闭这个程序,否则下面的代码将永远执行下去止到完成为止。

如果程序运行不超时,在没有执行结束前,程序不会自动结束的.

=========================================

//PHP 中如何 在客户端触发,然后在服务器端执行一个函数,页面关闭也继续执行。要先返回用户请求不要等待时。

ob_end_clean();#清除之前的缓冲内容,这是必需的,如果之前的缓存不为空的话,里面可能有http头或者其它内容,导致后面的内容不能及时的输出

header(“Connection: close”);//告诉浏览器,连接关闭了,这样浏览器就不用等待服务器的响应

header(“HTTP/1.1 200 OK”); //可以发送200状态码,以这些请求是成功的,要不然可能浏览器会重试,特别是有代理的情况下

//return false;//加了这个下面的就不执行了,不加这个无法返回页面状态,浏览器一直在等待状态,可以关闭,但不是要的效果。

//die(); 或 return ;也一样不执行下面的

//rundata();

//register_shutdown_function(“rundata”);

//return ;

ob_start();#开始当前代码缓冲

echo “running,,,,.”;

//下面输出http的一些头信息

$size=ob_get_length();

header(“Content-Length: $size”);

ob_end_flush();#输出当前缓冲

flush();#输出PHP缓冲

#休眠PHP,也就是当前PHP代码的执行停止,1秒钟后PHP被唤醒,

#PHP唤醒后,继续执行下面的代码,但这个时候上面代码的结果已经输出浏览器了,

#也就是浏览器从HTTP头中知道了服务端关闭了连接,浏览器将不在等待服务器的响应,

#反应给客户的就是页面不会显示处于加载状态中,换句话说用户可以关掉当前页面,或者关掉浏览器,

#PHP唤醒后继续执行下面的代码,这也就实现了PHP后台执行的效果,

#休眠的作用只是让php先把前面的输出作完,不要急于马上执行下面的代码,休息一下而已,也就是说下面的代码

#执行的时候前面的输出应该到达浏览器了

sleep(1);

echo ‘这里的输出用户看不到,后台运行的’;

//下面代码的任何输出都不会输出给浏览器,因为http连接已经关了,

//所以下面的代码的执行属于后台运行的

ignore_user_abort(true); // 后台运行,这个只是运行浏览器关闭,并不是直接就中止返回200状态。

set_time_limit(0); // 取消脚本运行时间的超时上限

rundata();

function rundata(){//do something}

=========================================

用ignore_user_abort函数实现php计划任务

代码如下:

?php

ignore_user_abort(true);

set_time_limit(0);

while(1) {

$fp = fopen(‘time_task.txt’,”a+”);

$str = date(“Y-m-d h:i:s”).”\n\r”;

fwrite($fp,$str);

fclose($fp);

sleep(300); //半小时执行一次

}

?

=======================================

int ignore_user_abort ( [bool setting] )

这个函数的作用是指示服务器端在远程客户端关闭连接后是否继续执行下面的脚本。

setting 参数是一个可选参数。如设置为True,则表示如果用户停止脚本运行,仍然不影响脚本的运行(即:脚本将持续执行);如果设置为False,则表示当用户停止运行脚本程序时,脚本程序将停止运行。

下面这个例子,在用户关闭浏览器后,该脚本仍然后在服务器上继续执行:

ignore_user_abort(true); // 后台运行

set_time_limit(0); // 取消脚本运行时间的超时上限

do{

sleep(60); // 休眠1分钟

}while(true);

?

除非在服务器上关闭这个程序,否则这断代码将永远执行下去。

————————————————————————-

ignore_user_abort(true); // 后台运行

set_time_limit(0); // 取消脚本运行时间的超时上限

echo ‘start.’;

sleep(1000);

echo ‘end.’;

?

如何让PHP文件在后台运行,不限时间到运行完全

方案1:php

?php

$db = mysql_connect( … );

$mysql_select_db(…);

$sqlStr = …..;

$res = mysql_query($sqlStr);

….

….

mysql_close($db);

?

运行的时候, 在终端用以下命令: 

%PHP_HOME%/bin/php ur_php_file.php 

方案二:

mysql -uxxxx -pxxxx -Ne “select * from …..” db_name  tmpfile 

执行完了之后, 把tmpfile里边的退格键(\t)替换成逗号“,”, 把文件后缀改为csv就可以

php如何在后台运行

最好的办法就是AJAX来实现,我写个JQuery AJAX 的简单例子给你参考

例:

div id=”myform”

    p数量:input type=”text” name=”qur”//p

    p大小:input type=”text” name=”size”//p

    p颜色:input type=”text” name=”color”//p

    pbutton id=”submit”确定/button/p

/div

$(function(){

    $(“#submit”).click(function(){

        var mydata = new object();

        mydata.qur = $(“input[name=’qur’]”,”#myform”).val();

        mydata.size = $(“input[name=’size’]”,”#myform”).val();

        mydata.color = $(“input[name=’color’]”,”#myform”).val();

        $.ajax({

    type: “post”,

            url: “your_ajax.php”,

            data: mydata,

            success:function(data){

                alert(“保存成功!”);

            },

    error: function(XMLHttpRequest, textStatus, errorThrown) {

        alert(errorThrown);

    }

        });

    });

});

PHP后台任务运行

在运行前 先要了解一下 什么是文件描述符。

什么是文件描述符?

文件描述符是一个简单的正整数,用以标明每一个被进程所打开的文件和socket。

最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应。

“21 file”和 ” file 21″区别?

1.php test.php 21 file :错误输出到终端,标准输出被重定向到文件file。

2.php test.php file 21 :标准输出被重定向到文件file,然后错误输出也重定向到和标准输出一样,所以错误也输出到文件file。

nohup命令可以在用户退出终端后仍然执行程序,

“21 /dev/null”表示不显示标准输出和错误输出,

最后的表示推到后台执行。

php中怎么实现后台执行??

用  ajax 实现异步加载

然后

i

gnore_user_abort(true); 

//即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. 

set_time_limit(0); 

while(1) { 

$fp = fopen(‘time_task.txt’,”a+”); 

$str = date(“Y-m-d h:i:s”).”\n\r”; 

fwrite($fp,$str); 

fclose($fp); 

sleep(5); //半小时执行一次 

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/289011.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-24 03:01
下一篇 2024-12-24 03:01

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • 打包后页面空白的解决方案

    当我们在调试阶段时,我们的app可能看起来完美无缺,但当我们进行打包时,在运行app时,我们可能会遇到白屏或空白的问题。在这篇文章中,我们将探讨如何解决这种问题。 一、检查文件路径…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • Python操作Web页面

    本文将从多个方面详细介绍Python操作Web页面的技巧、方法和注意事项。 一、安装必要的库 在Python中操作Web页面,需要用到一些第三方库。 pip install req…

    编程 2025-04-28
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • Spring调用超时,后台还在运行的解决方法

    本篇文章将从以下几个方面详细介绍Spring调用超时,后台还在运行的解决方法: 一、设置超时时间 通过设置超时时间可以确保Spring调用在一定时间内返回结果并结束,避免出现后台还…

    编程 2025-04-27
  • PHP与Python的比较

    本文将会对PHP与Python进行比较和对比分析,包括语法特性、优缺点等方面。帮助读者更好地理解和使用这两种语言。 一、语法特性 PHP语法特性: <?php // 简单的P…

    编程 2025-04-27
  • 用vuefavicon管理你的页面icon标签

    一、什么是vuefavicon vuefavicon是一种Vue.js插件,用于动态管理网站的favicon图标。通常情况下,我们会将网站的icon标签放置在html文档的head…

    编程 2025-04-25

发表回复

登录后才能评论