<?php
define('UPLOAD_DIR','upload/');
if (isset($_POST['submit'])) {
//file hochladen
$tmp_name = $_FILES['img']['tmp_name']; // Der Name auf dem temporaeren Verueichnis des Servers
$name = $_FILES['img']['name']; // Der Originalname
$size = $_FILES['img']['size']; // Größe der Datei
if ($name != '') {
$ext_tmp = explode(".", $name);
$ext = $ext_tmp[(count($ext_tmp)-1)];
$extensions = array('jpg');
if (!in_array($ext, $extensions)) {
$allowed_extensions = Null;
foreach ($extensions as $extension) {
$allowed_extensions .= $extension.', ';
}
die('Die Datei muss eine der folgenden Endungen haben: <br />'.$allowed_extensions);
}
if ($size != 0) {
if (move_uploaded_file($tmp_name, UPLOAD_DIR.$name)) {
$file = UPLOAD_DIR.$name;
chmod($file, 0755);
$size = getimagesize($file);
$c_width = (!isset($_POST['width']) or $_POST['width'] == 0 or $_POST['width'] >= $size[0]) ? $size[0] : $_POST['width'];
$c_height = (!isset($_POST['height']) or $_POST['height'] == 0 or $_POST['height'] >= $size[0]) ? $size[0] : $_POST['height'];
//aufrunden, da eventuell das letzte Teil halt groeßer sein muss
$hor_parts = ceil($size[0] / $c_width); //anzahl Teile horizontal
$ver_parts = ceil($size[1] / $c_height); //anzahl Teile vertikal
$origin = ImageCreateFromJPEG($file);
$count = 0;
$new_dir = UPLOAD_DIR.'/'.$name.' parts/';
mkdir($new_dir);
for ($i=0;$i<$ver_parts;$i++) {
for ($y=0;$y<$hor_parts;$y++) {
$img = ImageCreateTruecolor($c_width,$c_height);
ImageCopy($img,$origin,0,0,$y*$c_width,$i*$c_height,$c_width,$c_height);
ImageJpeg($img, $new_dir.$ext_tmp[0].'-'.$count.'.'.$ext_tmp[count($ext_tmp)-1], 75);
$count++;
imagedestroy($img);
}
}
}
else {
die('Beim Hochladen ist ein Fehler aufgetreten.');
}
}
}
}
else {
?>
<form method="post" action="bild_zerteilen.php" enctype="multipart/form-data">
Bild: <input type="file" name="img" /><br />
zerteilen in Teile mit<br />
Breite: <input type="text" name="width" />Pixel<br />
Höhe: <input type="text" name="height" />Höhe<br />
<input type="submit" name="submit" value="Zerschneiden" />
</form>
<?php
}
?>
|