Hi guys,
I have a page that contains elements (filenames of uploaded images)
that dynamically update the database upon clicking and dragging them
to reorder. Most of this is working wonderfully. Part of this
functionality is based upon each record having a recordID column
(apart from the primary key column). This column updates numerically
in sequential order upon Insert using this code:
<?php
mysql_select_db($database_xxx, $xxx);
$query_rcdSeq = "SELECT MAX(recordListingID) FROM sort2";
$rcdSeq = mysql_query($query_rcdSeq, $whynotcollectibles) or die
(mysql_error());
$row_rcdSeq = mysql_fetch_assoc($rcdSeq);
$totalRows_rcdSeq = mysql_num_rows($rcdSeq);
$n=$row_rcdSeq ['MAX(recordListingID)']+1;
?>
<input name="recordListingID" type="hidden" id="recordListingID"
value="<?php echo $n; ?>" />
It is working great when only inserting one file at a time.
The problem is that I don't know how to get it to work while uploading
multiple files and I consider multiple file upload a must.
What I'm getting is:
file1.jpg 1
file1.jpg 1
file1.jpg 1
file1.jpg 1
file1.jpg 1
Instead of:
file1.jpg 1
file1.jpg 2
file1.jpg 3
file1.jpg 4
file1.jpg 5
<?php
if (isset($_POST['MM_insert'])) {
$upload_error_codes=array("",
"The uploaded file exceeds the upload_max_filesize directive in php.ini.","",
"The uploaded file was only partially uploaded.",
"No file was uploaded.","Missing a temporary folder.",
"Failed to write file to disk.","File upload stopped by extension.");
$allowed_ext_string="jpg,gif,png,doc,docx,pdf";
$allowed_extensions=explode(",",$allowed_ext_string);
$upload_status = "";
$allowed_size = 20+0;
$success_page = "";
$thumbs_dir = "";
$resize_image = "";
$resize_width = +0;
$resize_height = +0;
$thumb_width = +0;
$thumb_height = +0;
$make_thumbs = "";
$thumb_prefix = "";
$thumb_suffix = "";
$file_prefix = "";
$file_suffix = "";
$append_date_stamp = "";
$date_stamp=($append_date_stamp=="1")?date(time()):"";
$haulted = false;
$upload_folder="uploaded_pictures";
//Check for restrictions
//Check if upload folder exists
if(!file_exists($upload_folder)){die("Upload folder doesn't exist");}
if(!is_writable($upload_folder)){die("Upload folder is not writable");}
if($make_thumbs == "yes" && !file_exists($thumbs_dir)){die("Thumbnails folder doesn't exist");}
if($make_thumbs == "yes" && !is_writable($thumbs_dir)){die("Thumbnails folder is not writable");}
foreach($_FILES as $files => $_file){
//Check if it's not empty
if($_file['name']!=""){
$pathinfo = pathinfo($_file['name']);
//If allowed extension or no extension restriction
if(!in_array(strtolower($pathinfo['extension']),$allowed_extensions) && $allowed_ext_string!=""){
die(strtoupper($pathinfo['extension'])." files are not allowed.
<br>No files have been uploaded.");
}
if($_file['size']>$allowed_size*1048576 && $allowed_size!=0){
die("The file size of ".basename($_file['name'])." is ".round($_file['size']/1048576,2)."MB,
which is larger than allowed ".$allowed_size."MB.<br>No files have been uploaded.");
}
}
}
//All checks passed, attempt to upload
foreach($_FILES as $files => $_file){
//Check if it's not empty
if($_file['name']!=""){
$pathinfo = pathinfo($_file['name']);
$file_name_array = explode(".", basename($_file['name']));
$filename = $file_name_array[count($file_name_array)-2];
$target = $upload_folder;
$file_uploaded = false;
$target = $target."/".$file_prefix.$filename.$file_suffix.$date_stamp.".".$pathinfo['extension'];
//if image
if(strtolower($pathinfo['extension'])=="jpeg" || strtolower($pathinfo['extension'])=="jpg"){
//if needs resizing or a thumbnail
if(($resize_image == "yes" && ($resize_width!="" || $resize_height!="")) || ($make_thumbs == "yes" && ($thumb_width!="" || $thumb_height!=""))){
$src = imagecreatefromjpeg($_file['tmp_name']);
list($width,$height)=getimagesize($_file['tmp_name']);
//if needs thumbnail
if ($make_thumbs == "yes" && ($thumb_width!="" || $thumb_height!="")){
$thumb_newwidth=($thumb_width!=0)?$thumb_width:(($width/$height)*$thumb_height);
$thumb_newheight=($thumb_height!=0)?$thumb_height:(($height/$width)*$thumb_width);
$tmp=imagecreatetruecolor($thumb_newwidth,$thumb_newheight);
imagecopyresampled($tmp,$src,0,0,0,0,$thumb_newwidth,$thumb_newheight,$width,$height);
$thumb_name=$thumb_prefix.$filename.$thumb_suffix.$date_stamp.".".$pathinfo['extension'];
if(imagejpeg($tmp,$thumbs_dir."/".$thumb_name,100)){
$upload_status=$upload_status."Thumbnail for ".basename($_file['name'])." was created successfully.<br>";
}else{
die($upload_status."There was a problem creating a thumbnail for ". basename($_file['name']).".
Upload was interrupted.<br>");
}
}
//if needs resizing
if($resize_image == "yes" && ($resize_width!="" || $resize_height!="")){
$newwidth=($resize_width!=0)?$resize_width:(($width/$height)*$resize_height);
$newheight=($resize_height!=0)?$resize_height:(($height/$width)*$resize_width);
$tmp=imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
if(imagejpeg($tmp,$target,100)){
$upload_status=$upload_status.basename($_file['name'])." was successfully resized.<br>";
$file_uploaded=true;
}else{
die($upload_status.basename($_file['name'])." could not be resized. Upload was interrupted.<br>");
}
}
}
}
if(!$file_uploaded){
if(move_uploaded_file($_file['tmp_name'], $target)){
$upload_status=$upload_status.basename($_file['name'])." was uploaded successfully.<br>";
}else{
$haulted=true;
}
}
//Cleanup
if(isset($src)){imagedestroy($src);unset($src);}
if(isset($tmp)){imagedestroy($tmp);unset($tmp);}
if($haulted){die($upload_status."There was a problem uploading ". basename($_file['name']).".
Error: ".$upload_error_codes[basename($_file['error'])].". Upload was interrupted.<br>");}
}
}
if($success_page!="" && $upload_status!=""){
header("Location: ".$success_page);
}
}
?>
<?php require_once('Connections/whynotcollectibles.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
//upload
foreach($_FILES as $files => $_file){
$_POST[$files]="";
if($_file['name']!=""){
$pathinfo=pathinfo($_file['name']);
$file_name_array = explode(".", basename($_file['name']));
$filename = $file_name_array[count($file_name_array)-2];
$_POST[$files]=$file_prefix.$filename.$file_suffix.$date_stamp.".".$pathinfo['extension'];
//end upload
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO sort2 (picture, recordListingID) VALUES (%s, %s)",
GetSQLValueString($_POST['picture'], "text"),
GetSQLValueString($_POST['recordListingID'], "int"));
mysql_select_db($database_whynotcollectibles, $whynotcollectibles);
$Result1 = mysql_query($insertSQL, $whynotcollectibles) or die(mysql_error());
}}
}
mysql_select_db($database_whynotcollectibles, $whynotcollectibles);
$query_rcdNumb = "SELECT * FROM sort2";
$rcdNumb = mysql_query($query_rcdNumb, $whynotcollectibles) or die(mysql_error());
$row_rcdNumb = mysql_fetch_assoc($rcdNumb);
$totalRows_rcdNumb = mysql_num_rows($rcdNumb);
mysql_select_db($database_whynotcollectibles, $whynotcollectibles);
$query_rcdSeq = "SELECT MAX(recordListingID) FROM sort2";
$rcdSeq = mysql_query($query_rcdSeq, $whynotcollectibles) or die(mysql_error());
$row_rcdSeq = mysql_fetch_assoc($rcdSeq);
$totalRows_rcdSeq = mysql_num_rows($rcdSeq);
$n=$row_rcdSeq ['MAX(recordListingID)']+1;
?>
</head>
<body>
<form action="<?php echo $editFormAction; ?>" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table align="center">
<tr valign="baseline">
<td nowrap="nowrap" align="right">Picture:</td>
<td><label for="picture"></label>
<input type="file" name="picture" id="picture" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Picture:</td>
<td><label for="picture2"></label>
<input type="file" name="picture2" id="picture2" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td><p>
<input type="submit" value="Insert record" />
<input name="recordListingID" type="hidden" id="recordListingID" value="<?php echo $n; ?>" />
</p>
<p><?php echo $n; ?> </p></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>
<div id="contentLeft">
<ul>
<?php
$query = "SELECT * FROM sort2 WHERE picture LIKE '%.pdf' OR picture LIKE '%.doc' OR picture LIKE '%.jpg' OR picture LIKE '%.png' OR picture LIKE '%.gif' ORDER BY recordListingID ASC";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
?>
<li id="recordsArray_<?php echo $row['picid']; ?>"><?php echo $row['picture']; ?> <a href="delete-photo.php?recordID=<?php echo $row['picid']; ?>"><span style="color:red;font-size:10px">Delete</span></a></li>
<?php } ?>
</ul>
</div>
<p> </p>
</body>
</html>