1

次のコードを使用して、アップロードしたファイルをimgフォルダーという別のディレクトリにコピーしようとしています。しかし、それは正しく動作しません。どうしてか分かりません ?助けてくれませんか?

PHP コード:

if($image["name"] != "")
{
    //$path = PATH . DS . "uploads" . DS . "products" . DS . $id;
    $path = "../../uploads" . DS . "products" . DS . $id;

    $path2 = "img";

    if(!is_dir($path))
    {
        mkdir($path);
    }

    chmod($path, 0755);                 
     //move_uploaded_file($image["tmp_name"], $path . DS . $image["name"]);
    move_uploaded_file($image["tmp_name"], $path . DS . 
    $uploadImage);//exit;                       

    copy($uploadImage, $path2);
}

次のエラー メッセージが表示されます。

Warning: copy(249.jpg) [function.copy]: failed to open stream: No such file or directory in...
4

2 に答える 2

2

このcopy()関数には、ソース ファイルの完全なファイル パスが必要です。パスではなく、ファイル名を渡すだけです。

現状では、現在のフォルダーでファイルを探していますが、見つからず、結果としてエラーがスローされます。

前のコード行から、フル パスは のように見える$path . DS . $uploadImageため、コピー コマンドは次のようになります。

copy($path . DS . $uploadImage, $path2);

それが役立つことを願っています。

于 2013-05-29T15:44:40.573 に答える
0

あなたのコピー機能は間違っています...

 copy($uploadImage, $path2);

Spudley answer が言うように、イメージのフル パスを使用する必要があります。また、$path2ディレクトリです。イメージの新しいコピーに名前を付ける必要があります。

したがって、コピー関数は次のようになります。

 copy($path . DS . $uploadImage, $path2. DS . $uploadImage);

試してみて、私たちに知らせてください。

于 2013-05-29T15:55:48.800 に答える