Jump to content

Can anyone help me with creating some thumbnails from my originals for a gallery


phpnewby1918

Recommended Posts

Hello,

I'm very new to working with images and headers, i've never done it at all even. But i've been trying to make a gallery its got about 150 photos in it. And i know there are much better ways than me resizeing and saving 150 thumbs. So ive tried to research and implement a code to make this so i can recall the original images url from a database and this will be the end viewable picture. And use php to create a thumbnail from the original, and then make that a link so it moves onto a lightbox viewer.

 

this is the code i've got so far, i'm having problems with the headers. I know that they must be put first but when i move the header to the start of file it still errors. 

 

I'd really appreciate any help that people would be willing to give :D

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-type" />
<title></title>
<link rel="alternate" type="application/rss+xml" title="" href="http://www.loukafinefinish.com/rss.xml" />
<link rel="stylesheet" type="text/css" href="css/portfolio.css" />
<link rel="stylesheet" type="text/css" href="css/portfolio_image.css" />

<script type="text/javascript" src="js/cufon-yui.js"></script>
<script type="text/javascript" src="js/arial.js"></script>
<script type="text/javascript" src="js/cuf_run.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/portfolio.js"></script>

<script type="text/javascript" src="js/jquery.lightbox-0.5.js"></script>
<link rel="stylesheet" type="text/css" href="css/jquery.lightbox-0.5.css" media="screen" />

<script type="text/javascript">
$(function() {
        $('.thumb a').lightBox();
    });
</script>

<style type="text/css">
/* Reset CSS */
html, body, h1, h2, h3, h4, h5, h6, p, ol, ul, li, pre, code, address, variable, form, fieldset, blockquote {
padding: 0;
margin: 0;
font-size: 100%;
font-weight: normal;
}
table { border-collapse: collapse; border-spacing: 0; }
td, th, caption { font-weight: normal; text-align: left; }
img, fieldset { border: 0; }
ol { padding-left: 1.4em; list-style: decimal; }
ul { padding-left: 1.4em; list-style:square; }
q:before, q:after { content:''; }

/* End of CSS Reset*/
</style>
</head>

<body>
<div id="content-wrapper">
<div id="header">
<h1><a id="logo" href="index.html"><span>Carpentery</span></a></h1>
</div>
<div id="navigation">
<div class="menu_nav">
        <ul>
        <li><a href="index.html">Home</a></li>
	<li><a href="services.htm</ul>
<--header above etc-->
<?php
echo '<div class="container">
<ul class="thumb">';


require_once('include/connect.php');

$display = 5; // Number of results

if (isset($_GET['p']) && is_numeric($_GET['p'])) { // Determine number of pages

$pages = $_GET['p'];

} else { // Need to determine

$q = "SELECT COUNT(id) FROM portfolio";
$r = @mysqli_query($dbc, $q);
$row = @mysqli_fetch_array($r, MYSQLI_NUM);

$records = $row[0];

// Calculate the number of pages...

if($records > $display) { // More than 1 page
	$pages = ceil($records/$display);
} else {
	$pages = 1; 
		}

	} // End IF

	if (isset($_GET['s']) && is_numeric($_GET['s'])) {
		$start = $_GET['s'];
	} else {
		$start = 0;
		}

// Query

$q = "SELECT imageUrl FROM portfolio ORDER BY id  LIMIT $start, $display";

$r = @mysqli_query($dbc, $q);

while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {

$filename[] = $row['imageUrl']; 

foreach ($filename as $url) {



        // The file
$filename = $url;

// Set a maximum height and width
$width = 100;
$height = 100;

header('Content-type: image/jpeg'); // Header is here for my example, but i have tried 
// placing it at the top of my page


// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
   $width = $height*$ratio_orig;
} else {
   $height = $width/$ratio_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);



echo '<li><a href=' . $row['imageUrl'] . '>' . imagejpeg($image_p, null, 100) . '
</a>';
} // End of FOR
} // End while

echo '</ul>'; // End of list of images


mysqli_free_result($r);
mysqli_close($dbc);

if ($pages > 1) { // Make page links
echo '<br /><p class="pagination">';
	$current_page = ($start/$display) + 1; // What page script is on
		if($current_page != 1) { // Make previous button
			echo '<a href="portfolio.php?s=' . ($start - $display) . '&p=' . '">Previous</a> ';
				}

// Make all the pages numbered

for ($i = 1; $i <= $pages; $i++) {
	if ($i != $current_page) {
		echo '<a href="portfolio.php?s=' . (($display * ($i - 1))) . '&p=' . $pages . '">' . $i . '</a> ';

} else {
	echo $i . ' ';
	}
} // END of FOR loop

// If no last page, make net button

if ($current_page != $pages) {
	echo '<a href="portfolio.php?s=' . ($start + $display) . '&p=' . $pages . '">Next</a>';

}

echo '</p>';

} // End page links

?>
<!--Footer etc-->
</html>

 

This is my overall page, but as the page had some html involved i thought it best to post some of it. I'm not convinced at all that my method for iterating through the database for the image urls allows me to then iterate this into the $filename for the image resize.

 

If any one could help i'd appreciate it :)

 

Thank you

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.