php判断本地文件是否存在

2025-12-18 02:07:19
推荐回答(5个)
回答1:

PHP文件编码导致的问题.

$s = 'C:\Users\Administrator\Pictures\狗.jpg';
var_dump(file_exists($s));

在 使用 ANSI 编码的情况下. 上述代码. 在Windows环境下执行成功.

 

如果换成 utf-8 编码. 则会输出 false .

 

改成以下代码. 则在 utf-8 编码下 运行正常

$s = 'C:\Users\Administrator\Pictures\狗.jpg';
var_dump(file_exists(mb_convert_encoding($s , 'gbk' , 'utf-8')));

回答2:

  1. 你盘符的问题,C:\Users\kf……应该是:C:/User/kf……

  2. 后缀名尽可能避免大写:写真.JPG,部分程序有可能去索引.JPG文件,而不是.jpg文件

回答3:

你把这句的
$dn="C:\Users\kfc\Desktop\写真.JPG";

中文改成字母试一试!php对中文的路径不是很好!

回答4:

  1. 路径使用了中文,确保你的文件编码是gbk或者gb2312这种的。

  2. \需要转义,改成 C:\\Users\\kfc\\Desktop\\写真.JPG 试一下

回答5:

将文件放进服务器文件夹内。