2015-04-08 99 views
2

我知道這種問題以前已經被問過了,但我有一個稍微不同的案例。在兩頁之間交換變量PHP

foreach($dir as $file) 
{ 
    $file = '<li><a href="test.php?file='.basename($file).'">'.basename($file).'</a></li>'; 
    echo $file; 
} 

這是我的腳本來顯示文件夾中的文件並鏈接到它們。現在,我使用另一頁上的$_GET['file']來接收其他頁面上的信息。另一個頁面應該顯示已經鏈接的文件的照片/視頻,但是我不知道如何在這種情況下使用$_POST$_SESSION,因爲它是一個循環,我不想要關於文件在鏈接中。

另外,我不想要任何表格。我想單擊文件名稱和其他網站的鏈接,以獲得有關文件的信息並顯示視頻或圖像。

+1

澄清:你爲什麼需要'$ _POST'或'$ _SESSION'這裏?有關該文件的什麼信息不能在鏈接中找到? – wavemode

+0

基本上'$ _SESSSION ['file'] = basename($ file);' –

+0

你好,我不希望文件的名稱在鏈接中,因爲如果有人知道直接鏈接,他將能夠訪問文件。我不想那樣。 – Joe

回答

1

通過在會話中存儲媒體路徑並使用相應的索引來傳遞,使用這種方式。

第一個文件:

<?php 
$i = 1; 
session_start(); 
$dir = array('1.jpg', '2.jpg', '3.jpg'); 
echo '<ul>'; 
foreach($dir as $file) 
{ //echo $i.'---'.$file."<br />"; 
    echo '<li><a href="test.php?file='. $i .'">'.$file.'</a></li>'; 
    $_SESSION['media_'.$i] = $file; 
    $i++; 
} 
echo '</ul>'; 
?> 

test.php的

<?php 
session_start(); 
echo $_SESSION['media_'.$_GET['file']]; 
?> 
+0

你好,由於某種原因,這段代碼將每個鏈接映射到一個文件,我不明白爲什麼。 – Joe

+0

確定$ dir包含不同的文件名? –

+0

是的,每個文件都有不同的命名。 – Joe