1

PHP を使用して、FTP フォルダー内の特定のファイルを削除したいと考えています。

これまでに行った作業は次のとおりです。これは、ユーザーが画像を選択してから削除ボタンをクリックできるように、画像ビューとチェックボックスをエコーするために使用しているコードです。

for ($i = 0; $i < $r; $i++)
{   
    echo "<form action='somephpfile.php' method='post' enctype='multipart/form-data'>"
        . "<img src='$images[$i]' width='50' height='50' />"
        . "<input type='checkbox' name='$i' value='Restaurant' />"
        . $images[$i]
        . "<input type='submit' name='submit' value='Delete' />"
        . "</form>";
}

これは、ユーザーが削除したいファイルを削除しようとする方法です:

$images = ftp_nlist($conn_id, "somefolder");
$r = count($images);

for ($i = 0; $i < $r; $i++)
{
    if ($selected_checkbox = $_POST['$i'])
    {   
        $myFile = "$images[$i]";
        $fop = fopen($myFile, "w") or die("can not open file");
        $fclose($fop); 
        unlink($fop); 

        if (ftp_delete($conn, $myFile))
        {
            echo "$file deleted successful\n";
        }
        else
        {
            echo "could not delete $file\n";
        }
    }
}

ftp_close($conn);

この例が機能しないのはなぜですか?

4

1 に答える 1

2

$selected_checkbox次のコード行は正しく比較されません$_POST['$i']が、代わりに投稿された値を割り当てます。これは常に次のように評価されtrueます。

if ($selected_checkbox = $_POST['$i'])

代入演算子の代わりに比較演算子==を使用したい=。このOverview of PHP OperatorsのセクションComparion Operatorsを見てください。

于 2012-11-09T19:59:16.130 に答える