0
<?php
ini_set('display_errors',1);
error_reporting(E_ALL); 
    session_start();
    $targ_w = $targ_h = 150;
    $jpeg_quality = 90;
    $ext=$_GET['ext'];
    $src = $_GET['p'];

    $img_r = imagecreatefromjpeg($src);
    $dst_r = imagecreatetruecolor( $targ_w, $targ_h );

    imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
    $targ_w,$targ_h,$_POST['w'],$_POST['h']);

    unlink($src);
    imagejpeg($dst_r,$src,$jpeg_quality);
    rename($src,"img/temp_images/".$_SESSION['userid'].".".$ext);

    $result=move_uploaded_file(
                        "/img/temp_images/".$_SESSION['userid'].".$ext",

                        "/img/".$_SESSION['userid'].".$ext");
    if($result)
    echo "Success";
    else
    echo "<br>Fail";


?>
  1. セーフモードはオフです
  2. 次のコードを入力してもエラーは表示されません

    ini_set('display_errors'、1); error_reporting(E_ALL);

  3. システムはローカルホストで実行されています

  4. move_uploaded_file()関数を除いてすべてが機能しています
  5. コードはiframeから呼び出されます。
  6. また、私はディレクトリ(ファイル)と多くの選択肢を試しました

問題の解決策または理由を提案してください。最初の3行を使用してどこかでエラー/警告をキャッチする必要がありますか?XAMPPセットアップバージョン2.5.8でこれを実行しています。ファイルを作成できるので、ファイルをフォルダーに移動する権限があると思います。そして、ローカルホストでは権限の面倒はないと思いますか?

4

1 に答える 1

0

GDライブラリを使用して新しいイメージを作成しています。ある場所から別の場所にファイルを移動するためにどちらをmove_uploaded_file()使用するかを試す代わりにcopy

http://php.net/manual/en/function.copy.php

コード例、

if (copy($old_file, $new_file)) {
    unlink($old_file);
}
于 2012-11-12T09:42:03.790 に答える