我试图将一个php页面(通过jquery)加载到一个网站的主要部分,我试图加载的php页面需要从主页面共享一个变量。以下是主页面中的代码行:
<div id="main" role="main">
<? $path=pathinfo($_SERVER['PHP_SELF']);$path="photo_store/".$path['filename']."/*"; ?>
</div>
在这个主页的head部分调用一个js文件,它只发布第二个php文件,js文件中的代码是:
$(function() {$.post("images.php",function(data){$('#main').html(data);});});
第二个php文件用于使用以下代码从photo_store子目录创建和显示图像数组
$files = glob($path);
我调查了$_GET
,$_POST
和$_SESSION
,但我不完全确定它们是如何运作的,并且没有成功。显然,如果我手动将文件夹位置放入glob()
然后它将完全加载,如果我要丢弃js文件并使用include''
,但我真的想找到一种方法以便我可以使用不使用include''
选项的所有文件夹的1个图像文件。
答案 0 :(得分:0)
Tou必须明白{AJ}加载之前images.php
已执行!这意味着,您必须使用AJAX将变量发送到网站,或者您必须处理它使用javascript。 (你不想做第二件事)
发送ajax POST参数 - 将显示在$_POST
:
$.post( "images.php",
{path: "<?php echo $path;?>"},
function(data){$('#main').html(data);});
因此,在images.php
中,您可以像这样访问$path
:
$path = $_POST["path"];
请记住,用户在由ajax发送时会假冒$path
。他可以发出自己的POST请求!