By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,521 Members | 1,420 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,521 IT Pros & Developers. It's quick & easy.

PHP- createThumbnail() function error

P: 6
Hi i am using PHP to upload picture files to a file in my server, but for some reason it will not create thumbnails of the upload, all that happens is that where the thumbnail is meant to be displayed is a square with an x in it. No error message is displayed, can anyone help me? I cant see where the error is... im trying to save the thumbnail to file 'thumbnail/'

PHP code:
<?php
function uploadImage($inputName, $uploadDir)
{
$image = $_FILES[$inputName];
$imagePath = '';
$thumbnailPath = '';

if (trim($image['tmp_name']) != '') {
$ext = substr(strrchr($image['name'], "."), 1);

$imagePath = md5(rand() * time()) . ".$ext";
$result = move_uploaded_file($image['tmp_name'], $uploadDir . $imagePath);

if ($result) {

$thumbnailPath = md5(rand() * time()) . ".$ext";
$result = createThumbnail($uploadDir . $imagePath, $uploadDir . 'thumbnail/' . $thumbnailPath, THUMBNAIL_WIDTH);

if (!$result) {
unlink($uploadDir . $imagePath);
$imagePath = $thumbnailPath = '';
} else {
$thumbnailPath = $result;
}
} else {

$imagePath = $thumbnailPath = '';
}

}


return array('image' => $imagePath, 'thumbnail' => $thumbnailPath);
}

function createThumbnail($srcFile, $destFile, $width, $quality = 75)
{
$thumbnail = '';

if (file_exists($srcFile) && isset($destFile))
{
$size = getimagesize($srcFile);
$w = number_format($width, 0, ',', '');
$h = number_format(($size[1] / $size[0]) * $width, 0, ',', '');

$thumbnail = copyImage($srcFile, $destFile, $w, $h, $quality);
}

// return the thumbnail file name on sucess or blank on fail
return basename($thumbnail);
}


function copyImage($srcFile, $destFile, $w, $h, $quality = 75)
{
$tmpSrc = pathinfo(strtolower($srcFile));
$tmpDest = pathinfo(strtolower($destFile));
$size = getimagesize($srcFile);

if ($tmpDest['extension'] == "gif" || $tmpDest['extension'] == "jpg")
{
$destFile = substr_replace($destFile, 'jpg', -3);
$dest = imagecreatetruecolor($w, $h);
//imageantialias($dest, TRUE);
} elseif ($tmpDest['extension'] == "png") {
$dest = imagecreatetruecolor($w, $h);
//imageantialias($dest, TRUE);
} else {
return false;
}

switch($size[2])
{
case 1: //GIF
$src = imagecreatefromgif($srcFile);
break;
case 2: //JPEG
$src = imagecreatefromjpeg($srcFile);
break;
case 3: //PNG
$src = imagecreatefrompng($srcFile);
break;
default:
return false;
break;
}

imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $h, $size[0], $size[1]);

switch($size[2])
{
case 1:
case 2:
imagejpeg($dest,$destFile, $quality);
break;
case 3:
imagepng($dest,$destFile);
}
return $destFile;

}


function getPagingLink($totalResults, $pageNumber, $itemPerPage = 10, $strGet = '')
{
$pagingLink = '';
$totalPages = ceil($totalResults / $itemPerPage);

// how many link pages to show
$numLinks = 10;


if ($totalPages > 1) {
$self = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] ;

if ($pageNumber > 1) {
$page = $pageNumber - 1;
if ($page > 1) {
$prev = " <a href=\"$self?pageNum=$page&$strGet\">[Prev]</a> ";
} else {
$prev = " <a href=\"$self?$strGet\">[Prev]</a> ";
}

$first = " <a href=\"$self?$strGet\">[First]</a> ";
} else {
$prev = '';
$first = '';
}


if ($pageNumber < $totalPages) {
$page = $pageNumber + 1;
$next = " <a href=\"$self?pageNum=$page&$strGet\">[Next]</a> ";
$last = " <a href=\"$self?pageNum=$totalPages&$strGet\">[Last]</a> ";
} else {
$next = ''; // we're on the last page, don't show 'next' link
$last = ''; // nor 'last page' link
}

$start = $pageNumber - ($pageNumber % $numLinks) + 1;
$end = $start + $numLinks - 1;

$end = min($totalPages, $end);

$pagingLink = array();
for($page = $start; $page <= $end; $page++) {
if ($page == $pageNumber) {
$pagingLink[] = " $page "; // no need to create a link to current page
} else {
if ($page == 1) {
$pagingLink[] = " <a href=\"$self?$strGet\">$page</a> ";
} else {
$pagingLink[] = " <a href=\"$self?pageNum=$page&$strGet\">$page</a> ";
}
}

}

$pagingLink = implode(' | ', $pagingLink);

// return the page navigation link
$pagingLink = $first . $prev . $pagingLink . $next . $last;
}

return $pagingLink;
}

function showBreadcrumb()
{
if (isset($_GET['album'])) {
$album = $_GET['album'];
$sql = "SELECT al_name
FROM tbl_album
WHERE al_id = $album";

$result = mysql_query($sql) or die('Error, get album name failed. ' . mysql_error());
$row = mysql_fetch_assoc($result);
echo ' &gt; <a href="admin.php?page=list-image&album=' . $album . '">' . $row['al_name'] . '</a>';

if (isset($_GET['image'])) {
$image = $_GET['image'];
$sql = "SELECT im_title
FROM tbl_image
WHERE im_id = $image";

$result = mysql_query($sql) or die('Error, get image name failed. ' . mysql_error());
$row = mysql_fetch_assoc($result);

echo ' &gt; <a href="admin.php?page=image-detail&album=' . $album . '&image=' . $image . '">' . $row['im_title'] . '</a>';
}
}
}

?>
Mar 2 '07 #1
Share this Question
Share on Google+
3 Replies


ronverdonk
Expert 2.5K+
P: 4,258
You know that code should be posted within the appropriate php, html or code tags..

You cannot expect our members to wade throught a lot of unstructured code lines.

You have been requested before and you obviously have chosen to ignore this request.

moderator
Mar 2 '07 #2

P: 6
You know that code should be posted within the appropriate php, html or code tags..

You cannot expect our members to wade throught a lot of unstructured code lines.

You have been requested before and you obviously have chosen to ignore this request.

moderator

Sorry i forgot, its PHP code
Mar 2 '07 #3

ronverdonk
Expert 2.5K+
P: 4,258
Sorry i forgot, its PHP code
This has nothing to do with that. You must read the Posting Guidelines HERE and you'll understand what you need to do.

moderator
Mar 3 '07 #4

Post your reply

Sign in to post your reply or Sign up for a free account.