php file_get_contents阿拉伯字符

问题描述 投票:3回答:1

您好我的PHP代码有问题:我需要使用file_get_contents打开一个txt文件,txt文件的目录包含阿拉伯语字符我的代码:

$URLX = "C:/server files/BN/public_html" ; 
$BookName = "الإضافةإلىمفاوضةمالكحسون" ; 
$eachChapiter[$x] = "مالكمالكحسون" ; 

$content = file_get_contents($URLX."/".$BookName."/".str_replace(' ', '', $eachChapiter[$x]).".txt"); 

错误输出:

WARNING: FILE_GET_CONTENTS(C:/SERVER FILES/BN/PUBLIC_HTML/الإضافةإلىمفاوضةمالكحسون/مالكمالكحسون.TXT): FAILED TO OPEN STREAM: NO SUCH FILE OR DIRECTORY IN C:\XAMPP\HTDOCS\LIBRARY\SEARCH\SEARCH.PHP ON LINE 30

NOTICE: UNDEFINED OFFSET: 1 IN C:\XAMPP\HTDOCS\LIBRARY\SEARCH\SEARCH.PHP ON LINE 38
php file arabic
1个回答
1
投票

感谢@Mike帮我纠正了答案。所以根据问题和OP的操作系统,你(OP)似乎遇到了this错误的变种。

如该链接所述,您可以使用以下代码来检测文件名编码

...    

$final_url = $URLX."/".$BookName."/".str_replace(' ', '', $eachChapiter[$x]);

mb_detect_encoding($final_url, 'UTF-8', true)) ? utf8_decode($final_url) : $final_url;
$content = file_get_contents($final_url).".txt");

请记住,此代码将在Linux服务器上产生问题(在该链接上再次讨论)。因此,如果您使用的是Linux生产环境,则可以应用此处建议的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.