如何从while循环设置全局函数

时间:2013-01-02 01:49:18

标签: php

我想要做的是为$ ftp_user_name设置一个全局变量,这样我就可以将它放在我的函数中,这样当循环遍历信息时,它将在我的ftp连接结束时正确地preg_match并输出列表我正在寻找的文件。

function is_txt($file) {
    global $ftp_user_name;
    return preg_match('/backup-[0-9]+\.[0-9]+\.[0-9]+_[0-9]{2}-[0-9]{2}-[0-9]{2}_'.$ftp_user_name.'.tar.gz/', $file) > 0;
}

while($row = mysql_fetch_array($query)) {

    $ftp_dir = $row['ftpdir'];

    // main display loop

    if (empty($row['ftphost'])){

        $ftp_server = $row['domain'];
        $ftp_user_name = $row['cpuser'];
        $ftp_user_pass = $row['cppass'];

    }
    else
    {
        $ftp_server = $row['ftphost'];
        $ftp_user_name = $row['ftpuser'];
        $ftp_user_pass = $row['ftppass'];
    }
}

1 个答案:

答案 0 :(得分:1)

这是我的建议,不需要使用全局变量,只需将其作为参数传递:

function is_txt($file,$user_name) {
    return preg_match('/backup-[0-9]+\.[0-9]+\.[0-9]+_[0-9]{2}-[0-9]{2}-[0-9]{2}_'.$user_name.'.tar.gz/', $file) > 0;
}

while($row = mysql_fetch_array($query)) {
    ...
    if (is_txt($file, $ftp_user_name)){
       // your code here
    }
    ...
}