2016-04-30 74 views
0

我有一个使用会话变量的应用程序。我试图将图像的路径传递给另一个PHP页面,但由于该页面位于另一个位置,因此我的路径中断并且图像不会显示。有没有办法连接到$_SESSION变量的路径?

page1.php

<?php 
session_name('Private'); 
session_start(); 
$_SESSION['first_img'] = '<img src="img/first-img.png">'; 
$_SESSION['second_img'] = '<img src="img/second-img.png">'; 
?> 

page2.php

<?php 
session_name('Private'); 
session_start(); 
echo $_SESSION['first_img']; 
echo $_SESSION['first_img']; 
?> 

因为page2.php是在另一个文件夹,我需要在图像路径添加../src的开始。我无法弄清楚如何将它添加到$_SESSION变量。

+0

首先你需要使用session_start();在会议开始之前,在您为会话命名之前......尝试在两个文件中更改它,然后看看它是否有效。 – Robin

回答

2

一种可能的解决方案可能会考虑将相对路径存储在会话变量中,然后将差异包装在回显代码中。

page1.php

<?php 
session_name('Private'); 
session_start(); 
$_SESSION['first_img'] = 'img/first-img.png'; 
$_SESSION['second_img'] = 'img/second-img.png'; 
?> 

page2.php

<?php 
session_name('Private'); 
session_start(); 
echo '<img src="../' . $_SESSION['first_img'] . '">'; 
echo '<img src="../' . $_SESSION['first_img'] . '">'; 
?> 
+0

谢谢你的帮助,这是我决定使用的答案。它现在非常简单明了。 – codeKracken

1

使用绝对路径。

$_SESSION['first_img'] = '<img src="//'.$_SERVER["SERVER_NAME"].'/img/first-img.png">'; 
$_SESSION['second_img'] = '<img src="//'.$_SERVER["SERVER_NAME"].'/img/second-img.png">'; 
+0

你错过了一个'/'。应该是'$ _SERVER [“SERVER_NAME”]。 '/ img ...' – Marcus

+0

谢谢你,编辑了答案 – PetrHejda