2

PHP.netのドキュメントによると、エラーなしで失敗した場合move_uploaded_file、元のファイルを開くことができないためですが、ファイルが存在し、コードからアクセスできることがわかります。この問題の原因は誰にも分かりますか?

コマンドは次のとおりです。

    if(!move_uploaded_file($file["tmp_name"],
            SITE_ROOT."/../static/images/photos/tmp/".$fileName.$fileExt)) {
        throw new Exception("ERROR: There was a serious server problem uploading the image :(");
    } else {
        return true;
    }

$newImage が作成される場所は次のとおりです。

if(imagejpeg($img_dst, sys_get_temp_dir()."/tmp.jpg", 100)) {    
    $newImage["name"] = "tmp.jpg";
    $newImage['tmp_name'] = sys_get_temp_dir()."/tmp.jpg";
    $newImage['error'] = 0;
    $newImage['type'] = "image/jpeg";
    $newImage['size'] = filesize(sys_get_temp_dir()."/tmp.jpg");

システムの一時ディレクトリにあるファイルを表示することもできますが、filesize()問題なく表示move_uploaded_fileされますが、問題があるようです。

ログファイルは空です (MIME 警告を除いて: Cannot get media type from 'x-mapp-php5')。誰が何が起こっているのか分かりますか?


編集:これと何か関係があるのでしょうか?(資料より。)

move_uploaded_file()は、PHP を介してアップロードされたファイルのみを移動できるようにすることで、この操作の安全性を保証します。

編集:はい、それでした。

4

3 に答える 3

2

たぶん、アクセスするフォルダーのアクセス許可と関係があります

于 2013-03-10T12:37:19.403 に答える
1

の制限でしたmove_uploaded_file: PHP によってアップロードされた画像のみを処理できます。移動したい画像はPHPで作成されただけだったので、移動しませんでした。

コマンドを に置き換えただけcopyです。

于 2013-03-10T23:22:17.903 に答える
0

エラーなしで失敗する可能性はほとんどありません。エラーログは確認しましたか?

于 2013-03-10T12:43:24.500 に答える