rewrite code to not have warnings about not defined indexes, variables,

or not being able to write files
This commit is contained in:
Piotr KUCHARSKI 2014-11-24 18:10:44 +01:00
parent 2f0c23019a
commit 4da4ee96d0

View file

@ -83,7 +83,7 @@ function sanitize($name)
} }
// Make sure the "thumbs" directory exists. // Make sure the "thumbs" directory exists.
if (!is_dir('thumbs')) if (!is_dir('thumbs') && is_writable('.'))
{ {
mkdir('thumbs',0700); mkdir('thumbs',0700);
} }
@ -140,14 +140,18 @@ else // otherwise, generate thumbnail, send it and save it to file.
$height = $width; $height = $width;
} }
$degrees = 0;
$flip = '';
// Rotate JPG pictures // Rotate JPG pictures
if (preg_match("/.jpg$|.jpeg$/i", $_GET['filename'])) if (preg_match("/.jpg$|.jpeg$/i", $_GET['filename']))
{ {
if (function_exists('exif_read_data') && function_exists('imagerotate')) if (function_exists('exif_read_data') && function_exists('imagerotate'))
{ {
$exif = exif_read_data($_GET['filename'], 0, true); $exif = exif_read_data($_GET['filename'], 0, true);
$ort = $exif['IFD0']['Orientation']; if (isset($exif['IFD0']) && isset($exif['IFD0']['Orientation']))
$degrees = 0; $ort = $exif['IFD0']['Orientation'];
else
$ort = 0;
switch($ort) switch($ort)
{ {
case 3: // 180 rotate right case 3: // 180 rotate right
@ -164,7 +168,7 @@ else // otherwise, generate thumbnail, send it and save it to file.
break; break;
// see http://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto/ for more info on orientation // see http://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto/ for more info on orientation
case 7: // flipped case 7: // flipped
$degrees = 90; $degrees = 90;
$flip = 'vertical'; $flip = 'vertical';
break; break;
case 5: // flipped case 5: // flipped
@ -215,20 +219,20 @@ else // otherwise, generate thumbnail, send it and save it to file.
flipVertical($target); flipVertical($target);
flipHorizontal($target); flipHorizontal($target);
flipVertical($target); flipVertical($target);
ImageJPEG($target,null,80);
} else {
ImageJPEG($target,null,80);
} }
ImageJPEG($target,null,80);
imagedestroy($target); imagedestroy($target);
$cachedImage = ob_get_contents(); // Get the buffer content. $cachedImage = ob_get_contents(); // Get the buffer content.
ob_end_flush();// End buffering ob_end_flush();// End buffering
$fd = fopen($thumbname, "w"); // Save buffer to disk if (is_writable(dirname($thumbname))) {
if ($fd) $fd = fopen($thumbname, "w"); // Save buffer to disk
{ if ($fd)
fwrite($fd,$cachedImage); {
fclose($fd); fwrite($fd,$cachedImage);
fclose($fd);
}
} }
} }