你好,我的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:XAMPPHTDOCSLIBRARYSEARCHSEARCH.PHP ON LINE 30
NOTICE: UNDEFINED OFFSET: 1 IN C:XAMPPHTDOCSLIBRARYSEARCHSEARCH.PHP ON LINE 38
感谢@Mike帮我更正答案。因此,根据这个问题和OP的操作系统,您(OP)似乎遇到了这个错误的变体。
正如在该链接中所讨论的,您可以使用以下代码来检测编码的文件名
...
$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生产环境,那么您可以应用那里建议的解决方案。