 |
BOOK: Beginning PHP 6, Apache, MySQL 6 Web Development ISBN: 9780470391143
 | This is the forum to discuss the Wrox book Beginning PHP 6, Apache, MySQL 6 Web Development by Timothy Boronczyk, Elizabeth Naramore, Jason Gerner, Yann Le Scouarnec, Jeremy Stolz; ISBN: 9780470391143 |
|
Welcome to the p2p.wrox.com Forums.
You are currently viewing the BOOK: Beginning PHP 6, Apache, MySQL 6 Web Development ISBN: 9780470391143 section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
|
|
|
|

August 18th, 2011, 07:59 AM
|
|
Registered User
|
|
Join Date: Aug 2011
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Chapter 7 - Creating Thumbnails p213
Hi,
just wondering if anyone can help me with this part. I've entered all the code for the file check_image.php but when I run the file upload_image.html and upload a pic, everything works apart from the thumbnail being created in the same directory as the image, but with a "t.jpg" extension.
Here is the code:
Quote:
<?php
//connect to MySQL
$db = mysql_connect('localhost', 'root', '') or
die ('Unable to connect. Check your connection parameters.');
mysql_select_db('moviesite', $db) or die(mysql_error($db));
//change this path to match your images directory
$dir ='C:/wamp/www/movie/images/';
//change this path to match your thumbnail directory
$thumbdir = $dir . 'C:/wamp/www/movie/thumbs/';
//change this path to match your fonts directory and the desired font
putenv('GDFONTPATH=' . 'C:/Windows/Fonts');
$font = getenv('GDFONTPATH'). '/arial.ttf';
// handle the uploaded image
if ($_POST['submit'] == 'Upload') {
//make sure the uploaded file transfer was successful
if ($_FILES['uploadfile']['error'] != UPLOAD_ERR_OK)
{
switch ($_FILES['uploadfile']['error']) {
case UPLOAD_ERR_INI_SIZE:
die('The uploaded file exceeds the upload_max_filesize directive ' .
'in php.ini.');
break;
case UPLOAD_ERR_FORM_SIZE:
die('The uploaded file exceeds the MAX_FILE_SIZE directive that ' .
'was specified in the HTML form.');
break;
case UPLOAD_ERR_PARTIAL:
die('The uploaded file was only partially uploaded.');
break;
case UPLOAD_ERR_NO_FILE:
die('No file was uploaded.');
break;
case UPLOAD_ERR_NO_TMP_DIR:
die('The server is missing a temporary folder.');
break;
case UPLOAD_ERR_CANT_WRITE:
die('The server failed to write the uploaded file to disk.');
break;
case UPLOAD_ERR_EXTENSION:
die('File upload stopped by extension.');
break;
}
}
//get info about the image being uploaded
$image_caption = $_POST['caption'];
$image_username = $_POST['username'];
$image_date = @date('Y-m-d');
list($width, $height, $type, $attr) =
getimagesize($_FILES['uploadfile']['tmp_name']);
// make sure the uploaded file is really a supported image
$error = 'The file you uploaded was not a supported filetype.';
switch ($type) {
case IMAGETYPE_GIF:
$image = imagecreatefromgif($_FILES['uploadfile']['tmp_name']) or
die($error);
break;
case IMAGETYPE_JPEG:
$image = imagecreatefromjpeg($_FILES['uploadfile']['tmp_name']) or
die($error);
break;
case IMAGETYPE_PNG:
$image = imagecreatefrompng($_FILES['uploadfile']['tmp_name']) or
die($error);
break;
default:
die($error);
}
//insert information into image table
$query = 'INSERT INTO images
(image_caption, image_username, image_date)
VALUES
("' . $image_caption . '", "' . $image_username . '", "' . $image_date .
'")';
$result = mysql_query($query, $db) or die (mysql_error($db));
//retrieve the image_id that MySQL generated automatically when we inserted
//the new record
$last_id = mysql_insert_id();
// save the image to its final destination
$image_id = $last_id;
imagejpeg($image, $dir . '/' . $image_id . '.jpg');
imagedestroy($image);
} else {
// retrieve image information
$query = 'SELECT
image_id, image_caption, image_username, image_date
FROM
images
WHERE
image_id = ' . $_POST['id'];
$result = mysql_query($query, $db) or die (mysql_error($db));
extract(mysql_fetch_assoc($result));
list($width, $height, $type, $attr) = getimagesize($dir . '/' . $image_id .
'.jpg');
}
if ($_POST['submit'] == 'Save') {
// make sure the requested image is valid
if (isset($_POST['id']) && ctype_digit($_POST['id']) &&
file_exists($dir . '/' . $_POST['id'] . '.jpg')) {
$image = imagecreatefromjpeg($dir . '/' . $_POST['id'] . '.jpg');
} else {
die('invalid image specified');
}
// apply the filter
$effect = (isset($_POST['effect'])) ? $_POST['effect'] : -1;
switch ($effect) {
case IMG_FILTER_NEGATE:
imagefilter($image, IMG_FILTER_NEGATE);
break;
case IMG_FILTER_GRAYSCALE:
imagefilter($image, IMG_FILTER_GRAYSCALE);
break;
case IMG_FILTER_EMBOSS:
imagefilter($image, IMG_FILTER_EMBOSS);
break;
case IMG_FILTER_GAUSSIAN_BLUR:
imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
break;
}
// add the caption if requested
if (isset($_POST['emb_caption'])) {
imagettftext($image, 12, 0, 20, 20, 0, $font, $image_caption);
}
//add the logo watermark if requested
if (isset($_POST['emb_logo'])) {
// determine x and y position to center watermark
list($wmk_width, $wmk_height) = getimagesize('images/logo.png');
$x = ($width - $wmk_width) / 2;
$y = ($height - $wmk_height) / 2;
$wmk = imagecreatefrompng('images/logo.png');
imagecopymerge($image, $wmk, $x, $y, 0, 0, $wmk_width, $wmk_height, 20);
imagedestroy($wmk);
}
// save the image with the filter applied
imagejpeg($image, $dir . '/' . $_POST['id'] . '.jpg', 100);
//set the dimensions for the thumbnail
$thumb_width = $width * 0.10;
$thumb_height = $height * 0.10;
//create the thumbnail
$thumb = imagecreatetruecolor($thumb_width, $thumb_height);
imagecopyresampled($thumb, $image, 0, 0, 0, 0, $thumb_width, $thumb_height,
$width, $height);
imagejpeg($thumb, $dir . '/' . $_POST['id'] . 't.jpg', 100);
?>
<html>
<head>
<title>Here is your pic!</title>
</head>
<body>
<h1>Your image has been saved!</h1>
<img src="http://p2p.wrox.com/images/<?php echo $_POST['id']; ?>.jpg" />
</body>
</html>
<?php
} else {
?>
<html>
<head>
<title>Here is your pic!</title>
</head>
<body>
<h1>So how does it feel to be famous?</h1>
<p>Here is the picture you just uploaded to our servers:</p>
<?php
if ($_POST['submit'] == 'Upload') {
$imagename = 'images/' . $image_id . '.jpg';
} else {
$imagename = 'image_effect.php?id=' . $image_id . '&e=' .
$_POST['effect'];
if (isset($_POST['emb_caption'])) {
$imagename .= '&capt=' . urlencode($image_caption);
}
if (isset($_POST['emb_logo'])) {
$imagename .= '&logo=1';
}
}
?>
<img src="<?php echo $imagename; ?>" style="float:left;">
<table>
<tr><td>Image Saved as: </td><td><?php echo $image_id . '.jpg'; ?></td></tr>
<tr><td>Height: </td><td><?php echo $height; ?></td></tr>
<tr><td>Width: </td><td><?php echo $width; ?></td></tr>
<tr><td>Upload Date: </td><td><?php echo $image_date; ?></td></tr>
</table>
<p>You may apply special options to your image below. Note: saving an image
with any of the options applied <em>cannot be undone</em>.</p>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<div>
<input type="hidden" name="id" value="<?php echo $image_id;?>"/>
Filter: <select name="effect">
<option value="-1">None</option>
<?php
echo '<option value="' . IMG_FILTER_GRAYSCALE . '"';
if (isset($_POST['effect']) && $_POST['effect'] == IMG_FILTER_GRAYSCALE) {
echo ' selected="selected"';
}
echo '>Black and White</option>';
echo '<option value="' . IMG_FILTER_GAUSSIAN_BLUR . '"';
if (isset($_POST['effect']) && $_POST['effect'] ==
IMG_FILTER_GAUSSIAN_BLUR) {
echo ' selected="selected"';
}
echo '>Blur</option>';
echo '<option value="' . IMG_FILTER_EMBOSS . '"';
if (isset($_POST['effect']) && $_POST['effect'] == IMG_FILTER_EMBOSS) {
echo ' selected="selected"';
}
echo '>Emboss</option>';
echo '<option value="' . IMG_FILTER_NEGATE . '"';
if (isset($_POST['effect']) && $_POST['effect'] == IMG_FILTER_NEGATE) {
echo ' selected="selected"';
}
echo '>Negative</option>';
?>
</select>
<br/><br/>
<?php
echo '<input type="checkbox" name="emb_caption"';
if (isset($_POST['emb_caption'])) {
echo ' checked="checked"';
}
echo '>Embed caption in image?';
echo '<br/><br/><input type="checkbox" name="emb_logo"';
if (isset($_POST['emb_logo'])) {
echo ' checked="checked"';
}
echo '>Embed watermarked logo in image?';
?>
<br/><br/>
<input type="submit" value="Preview" name="submit" />
<input type="submit" value="Save" name="submit" />
</div>
</form>
</body>
</html>
<?php
}
?>
|
Last edited by Cliffy; August 18th, 2011 at 08:18 AM..
|
|

September 2nd, 2011, 05:53 AM
|
|
Friend of Wrox
|
|
Join Date: May 2011
Posts: 125
Thanks: 0
Thanked 24 Times in 24 Posts
|
|
Greetings,
This bit;
Code:
//change this path to match your images directory
$dir ='C:/wamp/www/movie/images/';
//change this path to match your thumbnail directory
$thumbdir = $dir . 'C:/wamp/www/movie/thumbs/';
will mean that $thumbdir is;
Code:
C:/wamp/www/movie/images/C:/wamp/www/movie/thumbs/
and I'd guess that the above dir does not exist... ;)
|
Similar Threads
|
| Thread |
Thread Starter |
Forum |
Replies |
Last Post |
| (Chap. 7) Creating Thumbnails/Photo Galleries |
SmoothAl |
BOOK: Beginning PHP5, Apache, and MySQL Web Development ISBN: 978-0-7645-7966-0 |
3 |
March 2nd, 2010 06:27 AM |
| Paginate function with thumbnails |
dragon_rouge |
BOOK: Beginning PHP5, Apache, and MySQL Web Development ISBN: 978-0-7645-7966-0 |
1 |
March 13th, 2008 07:52 PM |
| chapter 7, THUMBNAILS |
r4n34 |
BOOK: Beginning PHP5, Apache, and MySQL Web Development ISBN: 978-0-7645-7966-0 |
2 |
November 24th, 2006 09:26 PM |
| Quicker way of loading thumbnails |
katsarosj |
Pro VB.NET 2002/2003 |
3 |
June 29th, 2005 09:42 AM |
| thumbnails without gd library? |
cutesneakers |
PHP How-To |
1 |
January 14th, 2005 05:34 AM |
|
 |