仓酷云

标题: PHP编程:判别近程文件是不是存在的php函数 [打印本页]

作者: 萌萌妈妈    时间: 2015-2-4 00:13
标题: PHP编程:判别近程文件是不是存在的php函数
只要实现最基本的功能就可以了 就是可以添加留言 然后可以显示留言,然后加入管理功能函数|是不是存在   判别近程的文件是不是存在。
<?php
/*
  函数:remote_file_exists
  功效:判别近程文件是不是存在
  参数: $url_file - 近程文件URL
  前往:存在前往true,不存在或其他缘由前往false
*/
function remote_file_exists($url_file){
//检测输出
$url_file = trim($url_file);
if (empty($url_file)) { return false; }
$url_arr = parse_url($url_file);
if (!is_array($url_arr) || empty($url_arr)){ return false; }

//获得恳求数据
$host = $url_arr['host'];
$path = $url_arr['path'] ."?". $url_arr['query'];
$port = isset($url_arr['port']) ? $url_arr['port'] : "80";

//毗连办事器
$fp = fsockopen($host, $port, $err_no, $err_str, 30);
if (!$fp){ return false; }

//机关恳求协定
$request_str = "GET ".$path." HTTP/1.1\r\n";
    $request_str .= "Host: ".$host."\r\n";
    $request_str .= "Connection: Close\r\n\r\n";

//发送恳求
    fwrite($fp, $request_str);
$first_header = fgets($fp, 1024);
    fclose($fp);

//判别文件是不是存在
if (trim($first_header) == ""){ return false; }
if (!preg_match("/200/", $first_header)){
  return false;
}
return true;
}

//测试代码
$str_url = 'http://www.phpx.com/viewarticle.php?id=119617';
$exits = remote_file_exists($str_url);
echo $exists ? "Exists" : "Not exists";

?>

一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小的耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧!
作者: 莫相离    时间: 2015-2-4 10:01
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 若天明    时间: 2015-2-4 13:34
做为1门年轻的语言,php一直很努力。
作者: 小妖女    时间: 2015-2-9 07:47
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 灵魂腐蚀    时间: 2015-2-26 03:53
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 蒙在股里    时间: 2015-3-8 11:47
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 透明    时间: 2015-3-11 19:45
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者: 小女巫    时间: 2015-3-13 01:09
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 海妖    时间: 2015-3-17 23:20
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 活着的死人    时间: 2015-3-24 08:21
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
作者: 金色的骷髅    时间: 2015-4-13 17:46
当然这种网站的会员费就几十块钱。
作者: admin    时间: 2015-4-16 23:10
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 再现理想    时间: 2015-4-17 11:54
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 第二个灵魂    时间: 2015-4-17 21:51
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者: 乐观    时间: 2015-4-20 03:49
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 仓酷云    时间: 2015-4-22 18:11
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者: 萌萌妈妈    时间: 2015-4-26 10:12
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者: 愤怒的大鸟    时间: 2015-4-28 03:11
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 分手快乐    时间: 2015-5-6 00:09
Ps:以上纯属原创,如有雷同,纯属巧合
作者: 冷月葬花魂    时间: 2015-5-8 14:42
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 变相怪杰    时间: 2015-5-10 20:35
兴趣是最好的老师,百度是最好的词典。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2