php同级文件夹,同级目录下文件获取失败

$files = '131204-5.csv';$str = file_get_contents($files) or die("文件打开失败");

Warning: file_get_contents(131204-5.csv) [function.file-get-contents]: failed to open stream: No such file or directory in D:\...

文件打开失败

在本机同环境下建的文件可读,放到服务器上却无法执行,对应的磁盘也设置了everyone权限。

请问是什么原因?

回复讨论(解决方案)

$files = './131204-5.csv';

最好把错误信息贴全了,以便于分析问题

楼主好,我试验了你的代码$files = 'new.txt';$str = file_get_contents($files) or die("文件打开失败");

没有错误信息提示,

下一步我将文件名故意写错,报错和你一样:

Warning: file_get_contents(new.txt.1): failed to open stream: No such file or directory in C:\xampp\htdocs\a\mark.php on line 9

文件打开失败

楼主在检查一下环境吧。

$files = './131204-5.csv';

最好把错误信息贴全了,以便于分析问题

同目录好像是没问题了,如果是*.php和a文件夹是在同一目录,a文件夹的结构是a/b/c.csv,其中a,b为文件夹,现在*.php访问c.csv文件,相对路径是不是 $path = 'a/b/c.csv'?

下面的代码报错:

$files = 'a/b/131204-5.csv';

echo file_get_contents($files);

error:Warning: file_get_contents(a/b/131204-5.csv) [function.file-get-contents]: failed to open stream: No such file or directory in D:\Label_Barcode\CvtBarcodeSystem\new\onstore\sgm_tsm_upload.php on line 17

是的,是 $path = 'a/b/c.csv'

不过在有些环境(有些php版本下)中需添加当前目录 ./

所以写作 $path = './a/b/c.csv'; 比较稳妥

是的,是 $path = 'a/b/c.csv'

不过在有些环境(有些php版本下)中需添加当前目录 ./

所以写作 $path = './a/b/c.csv'; 比较稳妥

我测试了下,只有文件名不含中文时才能读出来。有没有办法读含中文的文件名?

服务器环境是英文的。

utf-8 的程序运行在 gbk 环境中

或是

gbk 的程序运行在 utf-8 环境中

都会出现无法识别中文文件名的情况

一定要用中文文件名,则必须按操作系统的默认字符集转码

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值