2

ここには非常に奇妙な問題があります。写真をアップロードするときです。写真をアップロードすると常に次のエラーが表示 されます: 545行目

545行目に行くと、「getimagesize()」メソッドです。さて、エラーが発生しますが、実際に写真をアップロードできます。私はすでに何度も変更し、削除もしました。

私は何を間違っていますか?(ええ、パーミッションは 777 です)

    function UploadImagem()
{
  $Mensagem = "";
  $Error = array();
  $Data = new Database();
  $Usuario = $_SESSION["sessionUsuario"];

    $Foto = $_FILES["change_foto"];

        if (!empty($Foto["name"]))
        {
            $Largura = 1000;
            $Altura = 1000;
            $Tamanho = 350000; // 1000 = 1kb

            if(!preg_match("/^image\/(pjpeg|jpg|jpeg|png|gif|bmp)$/", $Foto["type"]))
            {
                    $Error[1] = "This is not an image.";
            }

            $Dimensoes = getimagesize($Foto["tmp_name"]); // LINE 545

                if($Dimensoes[0] > $Largura)
                    $Error[2] = "The max image width is " . $Largura . " pixels.";

                if($Dimensoes[1] > $Altura)
                    $Error[3] = "The max image height is " . $Altura . " pixels.";

                if($Foto["size"] > $Tamanho)
                    $Error[4] = "The max image size is " . $Tamanho . " bytes (or " . $Tamanho/1000 . " kilobytes).";

                if (count($Error) == 0)
                {
                    $Data->Conecta();

                    $PegarUsuarioID = "SELECT id_usuario, foto FROM usuarios WHERE nick = '$Usuario'";
                    $ResulPegarUsuarioID = mysql_query($PegarUsuarioID, $Data->link) or die (mysql_error());
                    $UsuarioID = mysql_result($ResulPegarUsuarioID, 0, 'id_usuario');
                    $FotoUsuario = mysql_result($ResulPegarUsuarioID, 0, 'foto');

                    preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $Foto["name"], $ext);

                    $NomeImagem = $UsuarioID . "." . $ext[1];
                    $PathImagem = "../uploads/images/" . $NomeImagem;

                    if (move_uploaded_file($Foto["tmp_name"], $PathImagem))
                    {
                        $InserirFotoUsuario = "UPDATE usuarios SET foto = '$NomeImagem' WHERE id_usuario = $UsuarioID";
                        $ResulInserirFotoUsuario = mysql_query($InserirFotoUsuario, $Data->link) or die (mysql_error());
                    }

                    $Data->Desconecta();

                    return "Correto";
                }
                else
                {
                    foreach ($Error as $Erro)
                        $Mensagem .=  $Erro . "<br />";

                    return $Mensagem;
                }
        }
}

エラーはこのメソッド「UploadImagem()」にあります。ありがとうございます。

4

0 に答える 0