2维数组,检索数据

时间:2010-11-18 09:06:20

标签: php session

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

这样的东西会从$ _SESSION ['files'] []中检索文件信息,如下所示?

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 个答案:

答案 0 :(得分:1)

运营商&&<相对于=的{​​{3}}更高,因此:

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

将被视为:

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

truefalse分配给$data

您可以通过引入括号来解决此问题:

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的目录中复制相同的文件是您想要做的吗?