-2

FTPサーバーを開き、そこにあるファイルに基づいてデータベースにデータを挿入するコードがあります

$fname2私の問題は、最初のファイルを変数として呼び出すだけで、すべてのファイル名をループする代わりにそれを使用し続けるように見えることです

$contents = ftp_nlist($conn_id, $dir);
$unalteredcontents = ftp_nlist($conn_id, $dir);

foreach( $contents as $fname )
{
    if (($fname != '.')  && ($fname != '..') )
    {
        foreach ($unalteredcontents as $fname2)
        {
            if (($fname2 != '.') && ($fname2 !='..'))
            {
                $url = "http://website/userid/".$uid."/".$fname2."";
            }
        }

$fname2ループ全体の変数として最初のファイルを返していますか?

4

1 に答える 1

0

私のために働きます。ここに私のテストコードがあります:

<?php
// set up basic connection
$ftp_server = "ftp.yoursite.com";
$ftp_user_name = "username";
$ftp_user_pass = "password";
$dir = "./public_html/cgi-bin"; // just a sample directory
$uid = 1;

$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$contents = ftp_nlist($conn_id, $dir);
$unalteredcontents = ftp_nlist($conn_id, $dir);

foreach( $contents as $fname )
{
    if (($fname != '.')  && ($fname != '..') )
    {
        foreach ($unalteredcontents as $fname2)
        {
            if (($fname2 != '.') && ($fname2 !='..'))
            {
                echo "http://website/userid/".$uid."/".$fname2."\n";
            }
        }
    }
}

括弧を閉じて、ftp 関連の変数を明示的に作成しました。

特定のインスタンスで何が起こっているのかを知ることは困難です。問題のディレクトリに実際に複数のファイルがあると思いますか?

于 2012-07-10T22:21:39.983 に答える