phpcurlfile
A. php curl 同一目录文件
之前的是PHP CLI模式下的代码,可以使用curl实现HEAD请求。
1.php代码如下:
<?php
//记录当前时刻
file_put_contents('test.txt',__FILE__.'writeat'.date('Y-m-dH:i:s').PHP_EOL);
echo'time:'.date('Y-m-dH:i:s');
$url='http://你的服务器IP地址/2.php';
$ch=curl_init($url);
curl_setopt($ch,CURLOPT_NOBODY,true);
curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'HEAD'); //发送head请求
$result=curl_exec($ch);
echo'<br/>';
echo'time:'.date('Y-m-dH:i:s');
2.php的代码如下:
<?php
ob_start();
//这里一定要输出内容给1.php,虽然什么都行,没有内容会失灵的
echo'{"code":0,"msg":"success"}';
$size=ob_get_length();
header("Content-Length:$size");
header("Connection:Close");
//使用ob输出缓冲区,提前告诉浏览器脚本运行结束,不同的操作系统用的函数不一样,都写上最好
ob_end_flush();
ob_flush();
flush();
//请求相应已经完成了,后面可以写耗时代码了
sleep(3);
//休眠3秒后追加内容到文件
file_put_contents(__DIR__.'/test.txt',__FILE__.'writeat'.date('Y-m-dH:i:s').PHP_EOL,FILE_APPEND);
注意:该方法暂时不支持windows系统。
B. php怎么调用内置的类如curlfile这个类
这个要分情况,
如果是用某个框架的话,那你继承基类,直接写函数名就可以了。
如果不是框架的话,那估计你就要在用的那个文件里面引入你要调用的那个函数所在的文件了。
C. PHP中CURL是如何使用的
在php中可以很容易的获取某个url的内容,只要通过file_get_contents,file或者readfile函数就能轻松实现,根本不必使用cURL:
D. SAE的php5.6怎么不支持CURLFile
跑一个demo,突然发现,服务器上最普通的Apache 2.4+PHP5.6组合,不支持curl,报告没有curl_init函数;
而php.ini里面已经打开了php_curl.dll,而且php -i的输出是正常的,说明curl是可以执行的。
E. 请教用Curl 在php 里面模拟表单提交 文本+文件的写法
我的博客《PHPcURL实现模拟登录与采集使用方法详解教程》已经有了很多示例,
请直接搜索打开文章查看。
<?php
//注:PHP5.5.0起,文件上传建议使用CURLFile代替@
//多文件上传
$data=array(
'author'=>'Zjmainstay',
'input_file[0]'=>newCURLFile('d:/1.txt','text/plain','testfile.txt'),
'input_file[1]'=>newCURLFile('d:/2.txt','text/plain'),
'input_file[2]'=>newCURLFile('d:/3.txt','text/plain'),
);
$url='这里省略链接';
$ch=curl_init($url);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_exec($ch);
F. php写curl下载文件 不是下载到服务器 让浏览器弹出下载文件,在本地下载 求高手解答
这样的用header吧
$file=‘下载地址’;
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
G. php的curl和file_get_contents问题
这是因为你PHP文件编码 和对方编码不一致导致的
<?
$url=' http://vipreader.qidian.com/BookReader/BuyVIPChapterList.aspx?BookId=1639199';
$str=file_get_contents($url);
$str=iconv('utf-8','gbk',$str);
echo $str;
?>
这样应该就不会乱码了。
H. php curl和file_get_contents读不到数据
你看看它返回来的status code是否是200
I. PHP curl 上传大文件非常大慢,导致超时,小文件(10M以下)的还可以,请问如何解决啊!
修改超时限制:
ini_set('max_execution_time','0');