仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1258|回复: 20
打印 上一主题 下一主题

[学习教程] PHP编程:判别近程文件是不是存在的php函数

[复制链接]
萌萌妈妈 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:13:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 21:55

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表