2016-04-30 10 views
0

セッション変数を使用しているアプリケーションがあります。画像のパスを別のPHPページに渡そうとしていますが、ページが別の場所にあるため、パスが途切れて画像が表示されません。変数$_SESSIONのパスに連結する方法はありますか? page2.php以来

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']; 
?> 

は別のフォルダにある、私は画像のパスにsrcの先頭に../を追加する必要があります。私はそれを$_SESSION変数に追加する方法を理解できません。

+0

まず、session_start()を使用する必要があります。あなたのセッションに名前を付ける前にセッションの始まりに...両方のファイルでそれを変更して、それが動作すれば見てみてください。 – Robin

答えて

2

可能な解決策の1つは、セッション変数に相対パスを格納し、エコーコードの違いをラップすることです。

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

関連する問題