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

$ _SESSION ['files'] []からファイル情報を取得しますか?2次元配列、データ検索

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

また、私は各項目をループして物理的な正しいフォルダに保存します。 If文の中でいくつかの追加のエラーチェックを追加しますが、基本的な構造はうまくいきます。$ scrtmpはすべてを1つずつ調べたり、すべての配列を出力したりしますか?

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

答えて

1

オペレータ&&<ので=に対してprecedence以上を有する:

$datatrue又は falseを割り当てる
while ($data = (mysql_fetch_array($results) && ($Record_Count < 5)) { 

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

はとして扱われます。

あなたのように括弧を導入することにより、この問題を解決:

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

それとは別に、私はさらにいくつかの可能性のある問題を見ることができます:

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

が正しくありません。 2番目のインデックスが必要です。また

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

あなたfile_exists機能チェックファイル$scrtmpは($scrtmpは、ファイル名だけではなく、パス名を持っていると仮定して)現在の作業ディレクトリに存在する場合:ような何か。しかし、あなたのcopyは、/tempという名前のディレクトリから同じファイルをコピーしていますか?

+0

ありがとう、私は変更を加えました。 2次元配列が内部のものを表示するためにどのように正しいのか私の方法ですか? – acctman

+1

投稿を編集しました。 – codaddict