章节
问答
课签
笔记
评论
占位
占位

PHP文件系统之判断文件是否存在

一般情况下在对文件进行操作的时候需要先判断文件是否存在,PHP中常用来判断文件存在的函数有两个is_file与file_exists.

$filename = './test.txt';
if (file_exists($filename)) {
    echo file_get_contents($filename);
}

如果只是判断文件存在,使用file_exists就行,file_exists不仅可以判断文件是否存在,同时也可以判断目录是否存在,从函数名可以看出,is_file是确切的判断给定的路径是否是一个文件。

$filename = './test.txt';
if (is_file($filename)) {
    echo file_get_contents($filename);
}

更加精确的可以使用is_readable与is_writeable在文件是否存在的基础上,判断文件是否可读与可写。

$filename = './test.txt';
if (is_writeable($filename)) {
    file_put_contents($filename, 'test');
}
if (is_readable($filename)) {
    echo file_get_contents($filename);
}

任务

判断如果$filename文件存在的话 就输出“文件存在”

?不会了怎么办

在第4行开始输入:

if (file_exists($filename)) {
    echo '文件存在';
}else{
   echo '文件不存在';
}
||
1
2
<?php
$filename = '
    /data
    /webroot
    /usercode
    /code
    /resource
    /test.txt';
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / 年少就轻狂
发到问答来删不了。。。

最新回答 / 年少就轻狂
<?php$document_root = $_SERVER['DOCUMENT_ROOT'];$filename = "$document_root/test.txt";if(file_exists($filename)){    echo "文件存在";    }

已采纳回答 / Naturegreen
路径错了,.    表示 当前目录, 访问当前目录文件时,可以使用相对路径,例子中要访问text,那么路径就是 $filename = 'text.txt' 也可以使用绝对路径还有windows 的路径是\ , linux是/ 

已采纳回答 / 慕沐7363818
可能是文件路径问题?双引号改为单引号?或者路径不加http之类的?试一下?我的就很正常,排除法的话就只有$filename变量的值和你的不一样<...code...>输出 :this is for testing file operation.

最新回答 / 幕布斯0246692
恭喜恭喜

已采纳回答 / 慕粉1470222047
./ 当前目录../ 父级目录/ 根目录

已采纳回答 / 慕九州9704552
  echo file_get_contents($filename1,'test');    echo fgets($filename1);(1)file_get_contents($filename1,'test');只要传文件名(2)fgets获取内容,需要先用fopen打开文件指针,然后才是fgets

最新回答 / 那份牵挂给了谁
应该是存在的。 放在他们工程目录下面

最新回答 / 慕粉1818472946
对的,echo file_get_contents($filename);但是文件$filename可能没有内容,导致echo打印不出来任何内容。本人尝试先file_put_contents($filename)写入内容,发现$filename只读,写入不进去;共同学习

最新回答 / KB_Handler
file_put_contents(file,data,mode,context)  参数data 可选。规定要写入文件的数据。可以是字符串、数组或数据流。建议可以查阅W3C  有更为详细的解释

最赞回答 / wuloves
$filename = '/data/webroot/usercode/resource/test.txt';路径这样写就对了,,这是慕课网的数据bug!!

已采纳回答 / lynhao
file_put_contents ( string filename, string data [, int flags [, resource context]] )

最新回答 / livemo
http://www.imooc.com//data/webroot/usercode/resource/test.txt
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言