2012-01-25 37 views
1

我已經寫了一些代碼來上傳文件到服務器。當文件成功時,我讓我的代碼轉到另一個網頁。在這個網頁上我想打印從前一頁獲得的文件屬性,所以我在PHP中使用Sessions。PHP會話,打印會話信息問題

//Starts up a new PHP session 
    session_start(); 
    $_SESSION['file']=$_FILES["file"]; 
    $_SESSION['name']=$_FILES['name']; 
    $_SESSION['type']=$_FILES['type']; 
    $_SESSION['size']=$_FILES['size']; 
    $_SESSION['tmp_name']=$_FILES['tmp_name']; 

這是我在第1頁的會話。然後,當文件成功時,我將用戶發送到page2。現在

header('Location: page2') ; 

,Page2上,我有我的PHP頁面的頂部這一權利:

<?php 
    //Starting session 
    session_start(); 
    ?> 

然後,再往下對我來說,能夠打印每個變量出來我有:

<?php 
    Print_r ($_SESSION['file']); 
    ?> 

當我完成這些工作後,我將所有信息全部混雜在一個長句中。我想控制這些信息並且很好地打印出來。我究竟做錯了什麼?我已經研究了許多不同的方法來做到這一點,迄今爲止沒有任何幫助。

試過了,也試過了,只是打印SESSION,還嘗試用單獨打印的單詞[數組]單獨回顯每一個。

在此先感謝!

+0

你爲什麼不擺脫這一切的任務使用的東西像'$ _SESSION ['uploaded_file'] = $ _FILE' –

+0

這將工作相同/ –

+0

嘗試var_dump($ _ SESSION ['file']);而不是print_r – Tudor

回答

2

使用二維數組像下面

$_SESSION['upload1']['file']=$_FILES["file"]; 
$_SESSION['upload1']['name']=$_FILES['name']; 
$_SESSION['upload1']['type']=$_FILES['type']; 
$_SESSION['upload1']['size']=$_FILES['size']; 
$_SESSION['upload1']['tmp_name']=$_FILES['tmp_name']; 

上file2.php

<?php 

    print "<pre>"; 
    print_r($_SESSION['upload1']); 
    print "</pre>"; 

    ?> 
+0

現在就試試看看會發生什麼。謝謝。 –

+0

這只是給了我一個沒有任何信息的空白頁面? :S –

+0

你是否在file2.php中開始會話? – sathishkumar

2

您正在處理白色空間中斷與HTML中斷。

只需打印它爲<pre>,你很好去。

<pre> 
<?= print_r ($_SESSION['file']); ?> 
</pre> 
+0

這可能還可能不夠:如果$ _SESSION的某個部分包含'<',那麼您的運氣不好。 –

+0

陣列 ([名稱] => 316483_180239712051619_129819073760350_377597_526239440_n.jpg [型] =>圖像/ JPEG [tmp_name的值] =>的/ tmp/phpItSvpt [錯誤] => 0 [尺寸] => 27632 ) 感謝您的幫助。以上是我現在的結果。它看起來好多了,但有幾個問題。爲什麼會議中沒有要求的數據?我如何刪除頂部的數組,以及爲什麼最後有一個1?任何想法的人? –

+0

@Eugen Rieck實際上會使它完美呈現......只是測試。 – Frankie

2

print_r()將以良好的ASCII-Art格式打印出您的信息。 HTML引擎渲染這個不可思議。在瀏覽器中選擇「查看源代碼」(Ctl-U),以便用人們可以理解的形式查看它。

+0

這不是我要找的。這是一個退休村的社交網站,它需要形象愉快。不管怎麼說,還是要謝謝你。 –

1

使用表中顯示的數據(或我思念的東西!?!):

<table> 
<tr><td>File Name</td><td><?php echo $_SESSION['name'] ?></td></tr> 
<tr><td>File Size</td><td><?php echo $_SESSION['size'] ?></td></tr> 
</table> 

添加你需要的任何額外的信息...

+0

嗯,這看起來相當不錯。將盡力謝謝。 –