此代码获取内容文件txt:
$str = "c:\\\\表\\t.txt";
$con=file_get_contents( $str);
echo $con;
文件存在于文件夹中:
结果:显示错误:
警告:file_get_contents(c:\表\ t.txt):无法打开流:第6行的C:\ xampp \ htdocs \ direction \ test.php中没有此类文件或目录
为什么file_get_contents()
无效?
如何读取路径c:\表\ t.txt?
的内容答案 0 :(得分:2)
尝试使用urlencode
对您的目录名进行编码:
$str = 'c:\\'.urlencode('表').'\t.txt';
$con=file_get_contents( $str);
echo $con;
详细描述here。
修改强>
假设您正在使用UTF-8编码的源文件,您还可以尝试以下其中一种
$str = 'c:\\'.urlencode(mb_convert_encoding('表', 'UTF-16', 'UTF-8')).'\t.txt';
// or just
$str = 'c:\\'.mb_convert_encoding('表', 'UTF-16', 'UTF-8').'\t.txt';
据我所知,较新的(> FAT32)Microsoft文件系统使用UTF-16编码。但这会使您的解决方案在其他(例如Linux)文件系统上失败。
编辑2
您还可以尝试将UTF-8文件名转换为其他编码,例如SJIS
,SJIS-win
,SJIS-2004
,JIS
,EUC-JP
, eucJP-win
,EUC-JP-2004
,CP932
,JIS-ms
等。但我不是东亚角色编码方面的专家 - 所以请谨慎对待这些信息。
答案 1 :(得分:1)
试试这个
<?PHP
$con=file_get_contents('./表/t.txt', true);
$con=file_get_contents('./表/t.txt',FILE_USE_INCLUDE_PATH);
echo $con;
?>
答案 2 :(得分:1)
语言: PHP
router.get('/', function(req, res, next) {
修改:
$results = scandir('c:\');
$result will give you all folder name inside c drive.
you can find your folder in $result array.
now you have folder name in $result and now you can go to file.
说明:
$results = scandir('/web');
$results = "/web/$results[21]/t.txt";
$con=file_get_contents( $results);
echo $con;
注意:如果您仍然在文件夹和文件中使用中文字符,则必须将操作系统从窗口更改为ubuntu。
答案 3 :(得分:0)
根据单/
$content = file_get_contents("C:/表/t.txt");
您可以在此处详细了解Filesystem
:http://php.net/manual/en/wrappers.file.php