SimpleImage.php - HTTP ERROR 500 ???
2017-06-06T11:43:18+02:00
2017-06-06T12:19:34+02:00
2022-08-18T17:45:33+02:00
LaszloP
Sziasztok!

Adva van egy SimpleImage.php nevű kódom, ami a gépemen sima localhost alatt tökéletesen működik, de amikor feltöltöm a tárhelyre, akkor egyből visszadob "HTTP ERROR 500"-al.
Hozzáteszem simán fut a szerveren, minden php, javascript kód, sql.

a kód (SimpleImage.php):

<?php
class SimpleImage {
var $image;
var $image_type;
function load($filename) {
$image_info = getimagesize($filename);
$this->image_type = $image_info[2];
if( $this->image_type == IMAGETYPE_JPEG ) {
$this->image = imagecreatefromjpeg($filename);
} elseif( $this->image_type == IMAGETYPE_GIF ) {
$this->image = imagecreatefromgif($filename);
} elseif( $this->image_type == IMAGETYPE_PNG ) {
$this->image = imagecreatefrompng($filename);
}
}

function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) {
if( $image_type == IMAGETYPE_JPEG ) {
imagejpeg($this->image,$filename,$compression);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image,$filename);
} elseif( $image_type == IMAGETYPE_PNG ) {
imagepng($this->image,$filename);
}
if( $permissions != null) {
chmod($filename,$permissions);
}
}

function output($image_type=IMAGETYPE_JPEG) {
if( $image_type == IMAGETYPE_JPEG ) {
imagejpeg($this->image);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image);
} elseif( $image_type == IMAGETYPE_PNG ) {
imagepng($this->image);
}
}

function getWidth() {
return imagesx($this->image);
}

function getHeight() {
return imagesy($this->image);
}

function resizeToHeight($height) {
$ratio = $height / $this->getHeight();
$width = $this->getWidth() * $ratio;
$this->resize($width,$height);
}

function resizeToWidth($width) {
$ratio = $width / $this->getWidth();
$height = $this->getheight() * $ratio;
$this->resize($width,$height);
}

function scale($scale) {
$width = $this->getWidth() * $scale/100;
$height = $this->getheight() * $scale/100;
$this->resize($width,$height);
}

function cut($w,$h){
$new_image = imagecreatetruecolor($w, $h);
$x=($this->getWidth()-$w)/2;
$y=($this->getHeight()-$h)/2;
imagecopyresampled($new_image, $this->image, 0, 0, $x, $y, $w, $h, $w, $h);
$this->image = $new_image;
}

function resizeCut($width,$height){
$rate1=$this->getWidth()/$this->getheight();
$rate2=$width/$height;
if($rate1==$rate2){
$this->resize($width,$height);
} else {
if($rate1 > $rate2){
$this->resizeToHeight($height);
$this->cut($width,$height);
} else {
$this->resizeToWidth($width);
$this->cut($width,$height);
}
}
}

function resize($width,$height) {
$new_image = imagecreatetruecolor($width, $height);
if( $this->image_type == IMAGETYPE_GIF || $this->image_type == IMAGETYPE_PNG ) {
$current_transparent = imagecolortransparent($this->image);
if($current_transparent != -1) {
$transparent_color = imagecolorsforindex($this->image, $current_transparent);
$current_transparent = imagecolorallocate($new_image, $transparent_color['red'], $transparent_color['green'], $transparent_color['blue']);
imagefill($new_image, 0, 0, $current_transparent);
imagecolortransparent($new_image, $current_transparent);
} elseif($this->image_type == IMAGETYPE_PNG) {
imagealphablending($new_image, false);
$color = imagecolorallocatealpha($new_image, 0, 0, 0, 127);
imagefill($new_image, 0, 0, $color);
imagesavealpha($new_image, true);
}
}
imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
$this->image = $new_image;
}
}
?>

Saját php fájl, amit szeretnék futtatni:

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

$image = new SimpleImage();
$image->load("img/6.jpg");
$image->resize(520, 500);
$image->save('teszt2.jpg');
?>

Valakinek ötlete?
Mutasd a teljes hozzászólást!
Kis betű-nagy betű használat? Win - Linux esetén nálam előfordul.
PHP verzió eltárás?
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd