2010-11-18 59 views
1
... 
while ($data = mysql_fetch_array($results) && $Record_Count < 5) { 
     $Record_Count = $Record_Count + 1; 
     $_SESSION['files'][] = $sid . '-' . $data['Id'] . '-slow'; 

會這樣的東西檢索$ _SESSION ['文件'] []見下文?二維數組,檢索數據

echo $_SESSION['files'][0]; 
echo $_SESSION['files'][1]; 
echo $_SESSION['files'][2]; 
echo $_SESSION['files'][3]; 
echo $_SESSION['files'][4]; 

另外,我要循環每個項目並將物理文件保存到正確的文件夾中。在If語句中,我將添加一些額外的錯誤檢查,但是基本結構看起來不錯,$ scrtmp會逐個遍歷所有數組還是輸出所有數組?

$scrtmp = $_SESSION['files'][]; 
    if (file_exists($scrtmp)) { 
    @copy("/temp/" . $scrtmp ,"/items/" . date(Y) . "/" . date(m) . "/" . $scrtmp); 
} 

回答

1

運營商&&<具有相對於更高precedence=這樣:

while ($data = (mysql_fetch_array($results) && ($Record_Count < 5)) { 

分配truefalse$data

while ($data = mysql_fetch_array($results) && $Record_Count < 5) { 

將作爲被處理。

while (($data = mysql_fetch_array($results)) && $Record_Count < 5) { 

除此之外,我可以看到幾個可能出現的問題:

您通過引入括號爲解決這個問題

$scrtmp = $_SESSION['files'][]; 

不正確。你需要有第二個索引。喜歡的東西:

for($i=0;$i<count($_SESSION['files']);$i++) { 
    $scrtmp = $_SESSION['files'][$i]; 
    .... 
} 

而且你file_exists功能檢查,如果該文件$scrtmp在當前工作目錄中(假設$scrtmp只是文件名和路徑名沒有)。但是您的copy正在從名爲/temp的目錄中複製相同的文件是您想要執行的操作嗎?

+0

謝謝,我做了改變。是我的方式如何2維數組正確顯示內部? – acctman 2010-11-18 09:20:02

+1

我已編輯我的帖子。 – codaddict 2010-11-18 09:21:43