Estou carregando uma imagem que está incluída no objeto $_FILES. No entanto, quando tento obter seu tamanho, recebo o erro de que não é uma string ou, alternativamente, não é um recurso... Como posso obter o tamanho desta imagem e, por sua vez, modificá-la no GD. Tenho que convertê-la para uma string? Ou o que esses métodos querem como entrada.
$image = $_FILES['uploaded_file'];
var_dump($image);
$oldw = imagesx($image);
$oldh = imagesy($image);
$imagedetails = getimagesize($image);
$width = "width".$imagedetails[0];
$height = "height".$imagedetails[1];
$neww = 512;
$newh = 512;
$temp = imagecreatetruecolor($neww, $newh);
imagecopyresampled($temp, $image, 0, 0, 0, 0, $neww, $newh, $oldw, $oldh);
//Error messages:
imagesx() expects parameter 1 to be resource
imagesy() expects parameter 1 to be resource
getimagesize() expects parameter 1 to be string
//Here is what the var_dump of image
array(5) {
["name"]=>
string(14) "image.png"
["type"]=>
string(24) "application/octet-stream"
["tmp_name"]=>
string(14) "/tmp/phpLlon22"
["error"]=>
int(0)
["size"]=>
int(2743914)
Agradecemos antecipadamente por quaisquer sugestões.
Ambos
imagesx
eimagesy
requerem uma imagem aberta, ou seja, já carregada na memória.getimagesize
requer um nome de arquivo, mas$image
é um array. Você tem que passar$_FILES['uploaded_file']['tmp_name']
para ele.Além disso, você tem que criar um recurso de imagem a partir da imagem carregada antes de poder reamostra-la.