Php无法正常工作,但iframe正常工作

问题描述:

我有几组代码显示在我的网页右侧。我使用这个地方显示一些用户信息和一些短的广告。对于我在数据库中使用该代码的广告。现在的问题是,我想显示一个外部的PHP文件,它位于我试图包含或需要此PHP文件的同一目录中。Php无法正常工作,但iframe正常工作

但我不知道为什么这是行不通的。我试过iframe,但工作正常,但我想用php include,但它不工作。请告诉我在哪里做错了。这里是我的代码:

if (is_array($data['blocks'])) { 
     $output .= '<div id="appside">'; 
     foreach($data['blocks'] as $block) { 
      if (is_array($block)) { 
       $output .= ' 
       <div class="block">'; 
       if ($block['title']) { 
        $output .= '<div class="block_title">'.$block['title'].'</div>'; 
       } 
       $output .= '<div class="block_content"> 
       '.$block['content']. 
       '</div> 
       </div> 
       '; 
      } 
     } 
     $output .= get_gvar('theme_block_sidebar'). 

     '<div><?php include("/home/xxxxxxx/public_html/xxxxxxxa.php"); ?></div> 


     </div> 

       ';// end of app_sidebar 

我试过所有短的替代品,但它的印刷原始的php代码。它没有被执行。我试图把<?php include(\'/home/xxxxxxx/public_html/xxxxxxxa.php\'); ?> 和所有其他类型的替代品,但其印刷原始的PHP代码。

如果你希望包括该文件在同一目录作为该文件,那么你就应该包括文件名只

<?php include('filename.php'); ?> 

,如果它是在一个较高的水平或在目录或子目录在更高的层次上,那么你应该移动到这个层次,然后移动到文件中。

<?php include('../../path/to/file.php'); ?> 

其中../../正在上升2级,你可以将其设置为你想要去尽可能多的水平。

+0

我尝试了所有替代方案,通过你喜欢只提出file.php和... /还,但它不工作 – 2011-05-15 03:20:13

+0

您可以发布该文件的不工作不仅是功能和快照内容你的服务器的目录树(扩展文件夹)?你可以隐藏你的用户名/ FTP的详细信息和任何敏感数据 – sikas 2011-05-15 03:21:54

如果你想从一个变量的外部php文件输出,可以使用PHP buffering functions得到它:

ob_start(); 
include("/home/xxxxxxx/public_html/xxxxxxxa.php"); 
$output_from_php_file = ob_get_contents(); 
ob_end_clean(); 

然后你就可以追加$output_from_php_file$output变量,无论你想。

+0

工作,但页面的所有功能不工作。页面包含几个IMG,在第一次加载我加载10 IMG和随着用户下降它将加载5 img.script是在iframe中工作正常,但在这里与您的方法只有第一集10 img加载。我想要另外一组5张图像在用户滚动并下降时加载。你有什么想法发生了什么。我想用ob_start thar页面被视为单独的页面。因为我没有包含JavaScript和CSS是特定的页面,因为这些js和css文件已经存在于主页面,我包括这个file.php – 2011-05-15 03:38:31

'<div><?php include("/home/xxxxxxx/public_html/xxxxxxxa.php"); ?></div> 

PHP不会在字符串内执行(这是所有以上是)。

您不能真正连接一个包含语句(除非包含的文件通过return返回)。鉴于我不能告诉你的代码片段是否在函数内部或它是如何执行的,我最好的解决方案是使用输出缓冲。

$output .= get_gvar('theme_block_sidebar') . '<div>'; 

ob_start(); 
include "/home/xxxxxxx/public_html/xxxxxxxa.php"; 
$output .= ob_get_contents(); 
ob_end_clean(); 

$output .= '</div>' 
+0

工作但页面的所有功能都不工作。页面包含几个img,在第1加载我正在加载10 img,并随着用户下降它将加载5 img.script在iframe中工作正常,但在这里与您的方法只有第一集10 img加载。我想要另外一组5张图像在用户滚动并下降时加载。你有什么想法发生了什么。我想用ob_start thar页面被视为单独的页面。因为我没有包括JavaScript和CSS是特定的页面,因为这些js和css文件已经存在于主页面,我包括这个file.php – 2011-05-15 03:37:12