ここには非常に奇妙な問題があります。写真をアップロードするときです。写真をアップロードすると常に次のエラーが表示 されます: 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()」にあります。ありがとうございます。