我收到错误
解析错误:语法错误,意外T_STRING
在下面$szSearchDBPath
的行上。好像PHP不喜欢驱动路径。
我花了几个小时谷歌搜索试图找到问题,但没有成功。
根据我的理解,单引号字符串不会被解析,应按字面解释。
有谁知道可能是什么问题?
<?php
$szHost = getcwd();
$szAddDir = "";
$g_bSaveSearch = 'True';
$szContentRoot = 'd:\websites\lycos\Alpha_Pourri\';
$szSearchDBPath = 'd:\websites\lycos\Alpha_Pourri\searches\';
$bPRODSite = 'False';
$i = 0;
...
答案 0 :(得分:1)
反斜杠在技术上是PHP中的转义字符,所以你必须双重转义:
<?php
$szHost = getcwd();
$szAddDir = "";
$g_bSaveSearch = 'True';
$szContentRoot = 'd:\\websites\\lycos\\Alpha_Pourri\\';
$szSearchDBPath = 'd:\\websites\\lycos\\Alpha_Pourri\\searches\\';
$bPRODSite = 'False';
$i = 0;
有关此内容的详情,请参阅manual entry about strings:
要指定文字单引号, 用反斜杠()来逃避它。至 指定一个文字反斜杠,加倍它 (\)。 ...
答案 1 :(得分:1)
由于反斜杠用于转义字符,因此通过在其前面添加反斜杠意外地转义结尾单引号。尝试将所有反斜杠转换为双反斜杠,例如
$szContentRoot = 'd:\\websites\\lycos\\Alpha_Pourri\\';
答案 2 :(得分:0)
$szContentRoot = 'd:\websites\lycos\Alpha_Pourri\';
\
转义单引号'
,因此字符串不会在那里结束。逃避反斜杠
$szContentRoot = 'd:\websites\lycos\Alpha_Pourri\\';
它应该足以逃脱最后一个(因为它在单引号中)。但是,您可以使用\
替换每个\\
。或者您只使用公共正斜杠/
,因为Windows同时接受两者作为目录分隔符。