标签归档:include

在新浪SAE中用SMARTY无法include共同文件

今天去玩了玩新浪的sae,安装了一个wordpress应用,然后上传了一个模板上去,出现以下情况,查看一下代码库,确实有这个文件

SAE_Warning: include(application/errors/error_php.php) [function.include]: failed to open stream: No such file or directory in system/core/Exceptions.php on line 167

 

最后通过百度大神,发现与空格有关

 

smarty 3对语法检查很严格。和sae环境没关。

<{include_php file=”head.inc” }> 错误在于后面的}>有空格了。

<{include_php file=”head.inc”}> 才是正确的语法

 

include和require的区别

两者没有太大的区别,如果要包含的文件不存在,include提示notice,然后继续执行下面的语句,require提示致命错误并且退出  

据我测试,win32平台下它们都是先包含后执行,所以被包含文件里最好不要再有include或require语句,这样会造成目录混乱。或许*nux下情况不同,暂时还没测试  

如果一个文件不想被包含多次可以使用include_once或require_once## 读取,写入文档数据 
  function r($file_name) { 
  $filenum=@fopen($file_name,”r”); 
  @flock($filenum,LOCK_SH); 
  $file_data=@fread($filenum,filesize($file_name)); 
  @fclose($filenum); 
  return $file_data; 
  } 
  function w($file_name,$data,$method=”w”){ 
  $filenum=@fopen($file_name,$method); 
  flock($filenum,LOCK_EX); 
  $file_data=fwrite($filenum,$data); 
  fclose($filenum); 
  return $file_data; 
  }