终于在SH的提醒和帮助下,在已经注册的几个国外免费空间里正常运行起YOU ALREADY KNOW THAT,我见简称YARK,按照首字母缩写应该是YAKT的,但误打误撞,变成YARK了,呵呵,YARK太短,所以注册的二级域名前加了我的戳“X”。正如YARK里的《h1》内容所标示:如果你是我的同伙,你会知道那空荡荡的网页是什么,怎么用;如果你想在这篇日志里直接找到答案,很对不起,在不跳转继续阅读某些链接的前提下,不可能。又或许,你真的很想知道,email我吧。至于我的联系方式,细心的你肯定already know that。
闪亮亮地放出一个YARK的地址:http://xyark.serw5.com/
很高兴地告诉大家,今天的YARK又实现了一个新的功能——直接把页面的title也输出了(并非各自的小title)!哇咔咔,如此一来,可以利用从RSS读到的地址完成某事,再也不用手动敲打某些代码了!
想变得懒惰欲望让我变得勤快。先花费一些时间制定规则,之后就可以拯救一些人的很多时间了。这就是程序的力量!!!!什么规范化管理,什么质量管理,如果你是个程序员,那些道理you already know that了。
说回YARK昨天没成功下海,原因是我完全是个PHP小白,所以碰得一头灰。通常,服务器基于安全考虑PHP的allow_url_fopen选项默认是OFF状态,免费空间通常都只会是OFF。而在PHP中需要使用file()[又或者file_get_contents()]函数获取其它站点的数据时,中招了,OFF状态就会出现一个“Warning: file() [function.file]: URL file-access is disabled in the server configuration in ***”的错误。幸好,我们还有第二招,cURL。在PHP程序里加入一段curl就能解决问题,但,这也是有前提是,curl是PHP的一个扩展库,所以,你的PHP系统的这个扩展功能必须处于enable状态,有些免费空间里curl是处于禁止状态的,那囧啊,不过确实存在,远在天边近在眼前的例子就是默认状态下的XAMPP。
也不管行不行了,把curl代码加进去试试再说,代码引用如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| < ?php
/*
* @return string
* @param string $url
* @desc Return string content from a remote file
* @author Luiz Miguel Axcar (lmaxcar@yahoo.com.br)
*/
function get_content($url)
{
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_HEADER, 0);
ob_start();
curl_exec ($ch);
curl_close ($ch);
$string = ob_get_contents();
ob_end_clean();
return $string;
}
#usage:
$content = get_content ("http://www.php.net");
var_dump ($content);
?> |
< ?php
/*
* @return string
* @param string $url
* @desc Return string content from a remote file
* @author Luiz Miguel Axcar (lmaxcar@yahoo.com.br)
*/
function get_content($url)
{
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_HEADER, 0);
ob_start();
curl_exec ($ch);
curl_close ($ch);
$string = ob_get_contents();
ob_end_clean();
return $string;
}
#usage:
$content = get_content ("http://www.php.net");
var_dump ($content);
?>
实际应用时把http://example.com代替http://www.php.net作为数据输入,然后网址会经过function get_content($url)处理,进去的是一个网址,出来的是一个对网址所代表的网页信息进行处理后的字符串,也就是说,$content是一个包含所有网页信息的字符串,你喜欢怎么折腾就怎么折腾好了。至于那句“var_dump ($content);”是把$content的内容输出打印出来,你或许不会用到。不知为什么可以这么神奇,但就是这么神奇。PHP默认设置下不能实现的功能通过cURL就能实现,但实际上,最终效果是一样的。
再次感谢SH童鞋,也感谢那位写cURL挽救世人的巴西童鞋,是广大程序员让我感觉我是站在巨人肩膀上的。
也愿YARK能在它的用途上发光发亮。