// Process new images. Resize to thumbnail and gallery.
$path = $picpath . $_POST['gallery'] . '/';
if( !is_dir($path) ) mkdir($path);
for( $i=1; $i<=$upload_at_once; $i++ ) {
if( empty($_POST['title'.$i]) ) continue;
if( $_FILES['photo'.$i]['error'] > 0 ) trigger_error('#'. __LINE__ .'/'. $i .' - There was an error processing your file.',E_USER_ERROR);
if( !$_FILES['photo'.$i]['size'] > 0 ) trigger_error('#'. __LINE__ .'/'. $i .' - There was an error processing your file.',E_USER_ERROR);
list($name,$ext) = explode('.',$_FILES['photo'.$i]['name']);
$name = substr($name,0,25);
$name = $name . microtime(TRUE);
$name = preg_replace('/[^a-zA-Z0-9_-]/','',$name);
$galfull = $path . $name . '.' . $ext;
$thfull = $path . $name . '_th.' . $ext;
$temp = $path . 'temporary.' . $ext;
if( !move_uploaded_file($_FILES['photo'.$i]['tmp_name'],$temp) ) trigger_error('#'. __LINE__ .'/'. $i .' - There was an error processing your file.',E_USER_ERROR);
if( !imageResize($temp,$thfull,$thw,$thh,TRUE) ) trigger_error('#'. __LINE__ .'/'. $i .' - There was an error processing your file into a thumbnail.',E_USER_ERROR);
if( !imageResize($temp,$galfull,$galw,$galh,TRUE) ) trigger_error('#'. __LINE__ .'/'. $i .' - There was an error processing your file into gallery size.',E_USER_ERROR);
$sql = sprintf("INSERT INTO home_images
(image_path,image_file,image_ext,image_title,image_caption,image_date,image_group,image_photographer)
VALUES
('images/home/%s/','%s','%s','%s','%s',NOW(),'%s','%s')",
$db->real_escape_string($_POST['gallery']),
$db->real_escape_string($name),
$db->real_escape_string($ext),
$db->real_escape_string($_POST['title'.$i]),
$db->real_escape_string($_POST['caption'.$i]),
$db->real_escape_string($_POST['gallery']),
$db->real_escape_string($_POST['photographer'.$i])
);
if( !$db->query($sql) ) trigger_error('#'. __LINE__ .'/'. $i .' - There was an error adding to the database.',E_USER_ERROR);
unlink($temp);
}
$content .= 'Successfully added new images.';
This is included by my loading mechanism and the content placed where it goes within the template. I then have an image viewing script, which is working for most pictures:<?php
$image = ISSET($_GET['image']) ? $_GET['image'] : FALSE;
if( !$image ) die('Error #501:<br />There was a problem loading the image.'. var_dump($_GET));
/**
* Print the page
*/
$sql = 'SELECT * FROM home_images WHERE id_image='. $image;
$result = $db->query($sql);
if( !$result ) die('MySQL Error: ('. mysqli_errno() .') '. mysqli_error .'<br />Query: '. $sql);
if( !$result->num_rows > 0 ) die('Error loading the selected image, please try again later.');
$info = $result->fetch_assoc();
$content .= '
<div id="main">
<div style="height:5px;"> </div>
<center><a href="javascript:void()" onclick="history.go(-1);return false;">Back to previous page</a></center>
<img src="'. sprintf('%sresources/%s%s.%s',$siteurl,$info['image_path'],$info['image_file'],$info['image_ext']) .'" style="padding: 10px 10px;" />
<br />
<h4>'. $info['image_title'] .'</h4>
<p>'. $info['image_caption'] .'</p>
';
if( !empty($info['image_photographer']) ) $content .= '<p class="note">Photos provided by '. $info['image_photographer'] .'</p>';
$content .= '</div>
';
$sql = 'UPDATE home_images SET image_views = image_views+1 WHERE id_image='. $image;
$db->query($sql);
Experts Exchange (EE) has become my company's go-to resource to get answers. I've used EE to make decisions, solve problems and even save customers. OutagesIO has been a challenging project and... Keep reading >>
Our community of experts have been thoroughly vetted for their expertise and industry experience.