扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
你大概要先搞清楚 页面(前端) 和 PHP(后端) 的关系;
创新互联致力于互联网网站建设与网站营销,提供做网站、成都网站制作、网站开发、seo优化、网站排名、互联网营销、微信小程序开发、公众号商城、等建站开发,创新互联网站建设策划专家,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。
第一个页面 由 A.php完成, 提交后 输入的内容 交给B.php 由B.php 生成第二个页面。
这个时候 A.php已经不起作用了。 A.PHP 提交的内容在服务器端的 全局变量$_POST['name']里面(name 就是A.PHP中TEXTAREA 标签的name 属性值)。
注意 : 第一个页面不存在了,要想显示第一个页面的内容,就在B.php.中把第一个页面复制一遍。把重新建立一个textarea 标签 默认值是你要显示的值,
方法1: 用file_get_contents 以get方式获取内容
[php] view plaincopyprint?
?php
$url='';
$html = file_get_contents($url);
echo $html;
?
方法2: 用fopen打开url, 以get方式获取内容
[php] view plaincopyprint?
?php
$fp = fopen($url, 'r');
//返回请求流信息(数组:请求状态,阻塞,返回值是否为空,返回值http头等)
[php] view plaincopyprint?
stream_get_meta_data($fp);
[php] view plaincopyprint?
while(!feof($fp)) {
$result .= fgets($fp, 1024);
}
echo "url body: $result";
fclose($fp);
?
这个需要配合js,打开一个html页面,首先js用ajax请求页面,返回第一个页面信息确定处理完毕(ajax有强制同步功能),ajax再访问第二个页面。(或者根据服务器状况,你可以同时提交几个URL,跑几个相同的页面)
参数可以由js产生并传递url,php后台页面根据URL抓页面。然后ajax通过php,在数据库或者是哪里设一个标量,标明检测到哪里。由于前台的html页面执行多少时候都没问题,这样php的内存限制和执行时间限制就解决了。
因为不会浪费大量的资源用一个页面来跑一个瞬间500次的for循环了。(你的500次for循环死了原因可能是获取的数据太多,大过了php限制的内存)
不过印象中curl好像也有强制同步的选项,就是等待一个抓取后再执行下一步。但是这个500次都是用一个页面线程处理,也就是说肯定会远远大于30秒的默认执行时间。
这个可以通过PHP的curl请求来提交数据到其他的网站!获取执行的结果即可!以下是一个示例。
function curlpost($data,$url){ //curlpost提交函数
$data=array('data'=$data);
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL, $url );
curl_setopt ($ch, CURLOPT_POST, true );
curl_setopt ($ch, CURLOPT_HEADER, 0 );
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data );
$state=curl_exec ($ch );
curl_close ($ch );
return $state;
}
POST方法的原型:
$.post(string url,object data,function callback,string datatype);
--------------------------------------------------------------------------------
参数说明:
string url:Ajax提交的服务器地址,必须的
object data:向服务器传递的数据,为JSON格式对象,非必须
function callback:ajax请求后的操作函数,非必须,接受两个参数
callback(data,status),data为服务器返回的数据,status为返回的字符类型的状态
string datatype:返回的数据类型,默认为text
在你的代码中
$.post("gis.php",{img:src})向php页面传递了一个参数,参数名为img,值为变量src的值。
那么在服务器端接受时的参数名应当为img
代码:
------------------------------
?php
$img =trim($_POST['img']);
echo (!empty($img))? '1':'0';
?
如果要接收服务器返回的数据,则你的JS代码为:
var src =$('#ihOppoSrc').val();
$.post('gis.php',{"img":src},function(data,status){
if(status=='success'){//这里返回的success表示请求成功,单不表述你的逻辑处理成功
if(data==1){
alert('服务器处理成功');
}else{
alert('服务器处理失败');
}
}
});
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流