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

würde so etwas die Dateiinformationen aus $ _SESSION ['files'] [] abrufen siehe unten?2-dimensionales Array, Daten abrufen

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

auch ich bin Schleife durch jedes Element und Speichern der physischen in den richtigen Ordner. Innerhalb der If-Anweisung werde ich einige zusätzliche Fehlerprüfungen hinzufügen, aber sieht die grundlegende Struktur gut aus, $ scrtmp wird sie alle nacheinander durchlaufen oder alle Arrays ausgeben?

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

Antwort

1

Die Betreiber && und < haben höhere precedence in Bezug auf = so:

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

true oder false zu $data zuweisen:

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

wird wie behandelt werden.

Sie dieses Problem beheben durch die Einführung Klammer als:

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

von Apart, dass ich einige mögliche Probleme sehen können:

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

falsch ist. Sie müssen einen 2. Index haben. Etwas wie:

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

Auch Ihre file_exists Funktion zu überprüfen, ob die Datei $scrtmp im aktuellen Arbeitsverzeichnis vorhanden ist (unter der Annahme $scrtmp hat nur Dateinamen und nicht Pfad). Aber Ihre copy kopiert die gleiche Datei aus einem Verzeichnis mit dem Namen /temp ist das, was Sie tun möchten?

+0

danke, ich habe die Änderung vorgenommen. ist meine Art, wie das 2-dimensionale Array korrekt ist, um anzuzeigen, was drin ist? – acctman

+1

Ich habe meinen Beitrag bearbeitet. – codaddict