分析错误:语法错误,意外';文件名';第9行C:\xampp\htdocs\php\dir.php中的(T_字符串)

分析错误:语法错误,意外';文件名';第9行C:\xampp\htdocs\php\dir.php中的(T_字符串),php,active-directory,Php,Active Directory,它显示语法错误: 分析错误:语法错误,第9行C:\xampp\htdocs\php\dir.php中出现意外的“文件名”(T_字符串) **php program for reading filenames and filetypes from a dir.** 错误在第一行:$dir=“C:\xampp\htdocs\php\” 反斜杠转义引号 避开代码中的反斜杠以使其正常工作,如下所示: <?php $dir="C:\xampp\htdocs\php\"; if(is_dir($d

它显示语法错误: 分析错误:语法错误,第9行C:\xampp\htdocs\php\dir.php中出现意外的“文件名”(T_字符串)

**php program for reading filenames and filetypes from a dir.**

错误在第一行:$dir=“C:\xampp\htdocs\php\”

反斜杠转义引号

避开代码中的反斜杠以使其正常工作,如下所示:

<?php
$dir="C:\xampp\htdocs\php\"; 
if(is_dir($dir)) 
 {
 if($dirref=opendir($dir))
   {
     while(($file=readdir($dirref))!==false)
      {
      echo "filename : $file : filetype: ".filetype($dir.$file)."\n";
      }
   closedir($dirref);
   }
 }
?>

似乎您已在
$dir=
语句中转义了结束引号。我不在Windows环境中使用php,因此我不知道您是否可以将所有的
\
转换为
/
,但如果不能,您将希望转义所有
\

$dir="C:\\xampp\\htdocs\\php\\"; 
或者使用单引号,这将禁用转义序列:

$dir="C:\\xampp\\htdocs\\php\\"; 
解析错误通常表明,在解析器实际报告错误之前,代码中存在语法(本例中为字符串)错误。

$dir=“C:\xampp\htdocs\php\”

只需删除最后一个'\',并使其

$dir='C:\xampp\htdocs\php\'; 
它会起作用的

改变这一点:

$dir="C:\xampp\htdocs\php";


看看你文章中的突出显示,这应该会告诉你你的问题不要在基于windows的PHP代码的文件路径中使用
\
。使用
/
,PHP将自动转换为适合您的目录分隔符。这将消除像您遇到的问题一样的问题。我相信
if($dirref=opendir($dir))
是有意为之的。检查
true
并分配。是。。。你是对的@太棒了!!!已解决…非常感谢…但它显示为file/dir的文件类型,而不是我预期的php或html文件
$dir="C:\xampp\htdocs\php\";
$dir="C:\\xampp\\htdocs\\php\\";