0

他のオンライン チュートリアルに基づいて php クロッパーを作成しようとしていますが、エラーが発生し続け、実際のエラーの意味を理解できません。エラーが書き込まれた私のphpコードも次のとおりです。

<?php
include("settings.php");

$extension = end(explode(".", $_FILES["avatar"]["name"]));
$id = mysqli_real_escape_string($con, $_POST["id"]);
$time = time();
$avatarid= time().'-'.mt_rand(1000, 9999);
$avatar = mysqli_real_escape_string($con, $_POST["avatar"]);
$w= mysqli_real_escape_string($con, $_POST["w"]);
$h= mysqli_real_escape_string($con, $_POST["h"]);
$x= mysqli_real_escape_string($con, $_POST["x"]);
$y= mysqli_real_escape_string($con, $_POST["y"]);
$rw = 300;
$rh = 300;

$path = "../uploads/avatars/";
$unlink = "$path$avatar";
$newimage = "$path$avatar";

$insert_avatar_sql = "UPDATE members SET avatar = '".$avatarid.".".$extension."' WHERE id = '$id'";
$insert_avatar_res = mysqli_query($con, $insert_avatar_sql);
if(mysqli_affected_rows($con)>0){
    unlink($unlink);
    move_uploaded_file($_FILES["avatar"]["tmp_name"],"$path" . $avatarid . "." . $extension);

    $wratio = ($rw/$w); 
    $hratio = ($rh/$h); 
    $newW = ceil($w * $wratio);
    $newH = ceil($h * $hratio);
    $newimg = imagecreatetruecolor($newW,$newH);
    $ext=$extension;
    if($ext=="jpg" || $ext=="jpeg" )
    {
        $source = imagecreatefromjpeg($newimage); // Warning: imagecreatefromjpeg(../uploads/avatars/1380641918-4496.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in C:\AppServ\www\music.co.uk\php\avatar.php on line 34
    }
    else if($ext=="png")
    {
        $source = imagecreatefrompng($newimage);
    }
    else 
    {
        $source = imagecreatefromgif($newimage);
    }
    imagecopyresampled($newimg,$source,0,0,$x1,$y1,$newW,$newH,$w,$h); // Warning: imagecopyresampled(): supplied argument is not a valid Image resource in C:\AppServ\www\music.co.uk\php\avatar.php on line 44
uploads/1380642027-5994
    imagejpeg($newimg,$path.$avatarid,90);
    echo "uploads/".$avatarid;
    exit;

    header("Location: ../edit.php?page=profile");
}
else{
header("Location: ../404.php");
exit();
}
?>

これで私を助けてください、私はアバターのアップロードを3日間しっかりといじっています。別のphpスクリプトを使用しなければならない場合でも、これをやりたいと思っています

4

1 に答える 1

0

最初のエラーでは、$newimageimagecreatefromjpeg()に渡しています。このプロセスの間、$newimageにはimagecreatefromjpeg()が理解できる値がありません。したがって、基本的に$newimageがファイルまたはディレクトリの場合、それは有効ではないため、問題は$newimageに割り当てられた値です.(「../uploads/avatars/1380641918-4496.jpg」が有効であることを確認してください) 2番目の警告であなた。幸運を。

于 2013-10-01T15:57:25.073 に答える