Help a newbie, please. In general, in short, the User adds a photo and I try to crop it with a width of 1050 while maintaining the proportions. But the getimagesize function returns the error "getimagesize (temp / maxresdefault.jpg): failed to open stream: Invalid argument in ..". I took the function from the example on the Internet. According to Google, I did not find what this error means.
function crop($url, $x_o, $y_o, $w_o, $h_o) { if (($x_o < 0) || ($y_o < 0) || ($w_o < 0) || ($h_o < 0)) { echo "ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ"; return false; } if (($w_o < 500) || ($h_o < 500)){ echo "Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»ΠΎ"; } list($w_i, $h_i, $type) = getimagesize($url); // ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ ΡΠΈΠΏ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΡΠΈΡΠ»ΠΎ) $types = array("jpg", "gif", "jpeg", "png"); // ΠΠ°ΡΡΠΈΠ² Ρ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ $ext = $types[$type]; // ΠΠ½Π°Ρ "ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ" ΡΠΈΠΏ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ·Π½Π°ΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° if ($ext) { $func = 'imagecreatefrom'.$ext; // ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΠΈΠΏΡ, Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ $img_i = $func($url); // Π‘ΠΎΠ·Π΄Π°ΡΠΌ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ } else { echo 'ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅'; // ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΡ, Π΅ΡΠ»ΠΈ ΡΠΎΡΠΌΠ°Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ echo $url; // ΠΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΡ, Π΅ΡΠ»ΠΈ ΡΠΎΡΠΌΠ°Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ return false; } if ($x_o + $w_o > $w_i) $w_o = $w_i - $x_o; // ΠΡΠ»ΠΈ ΡΠΈΡΠΈΠ½Π° Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ (Ρ ΡΡΡΡΠΎΠΌ x_o), ΡΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΠΌ Π΅Ρ if ($y_o + $h_o > $h_i) $h_o = $h_i - $y_o; // ΠΡΠ»ΠΈ Π²ΡΡΠΎΡΠ° Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ (Ρ ΡΡΡΡΠΎΠΌ y_o), ΡΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΠΌ Π΅Ρ $img_o = imagecreatetruecolor($w_o, $h_o); // Π‘ΠΎΠ·Π΄Π°ΡΠΌ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π΄Π»Ρ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ imagecopy($img_o, $img_i, 0, 0, $x_o, $y_o, $w_o, $h_o); // ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌ ΡΠ°ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π² Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ΅ $func = 'image'.$ext; // ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° return $func($img_o, $url); // Π‘ΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΉΠ», ΡΡΠΎ ΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ }