Jump to content

need help with script - I have modified this script to my needs.


tylrwb

Recommended Posts

This script works i added a few lines in here to upload multiple images and it is not working for me. I have searched for a way to do this all over. It is possible with the extents of everything i want this to do; it may not exist.

I would appreciate anyones input - thanks

 

<?

session_start();
header ("Cache-Control: no-cache, must-revalidate");
$id = $_COOKIE[id];
$user_password = $_COOKIE[user_password];

$_GET[$thumb_name];
$_GET[$newname];
$_GET[$catagory];

require_once("support/variablehandling.pclass");
$codep = new secureurl ;
$codep->decode($ptv);
?>
<html>
<?
include "support/sitevariables.php";
$pagetitle = "$sitename - Members Menu | $catagory";
$logonrequired = "Y";
$typeoflogon = "M";
$loggingflag = "OFF";
$returnpage = "content_upload.php";
$pagename = "content_upload";



include "support/databaseopen.php";

if ($loggingflag == 'ON'){
include "support/checkpagecountfile.php";
}

if ($logonrequired == 'Y'){
include "support/usercheckroutine.php";
} else {
$validationflag = 'Y';
}

?>
<body bgcolor="#000000">

<p>
<?
//number of files to upload. 
$num_files = 10; 

//define a maxim size for the uploaded images
define ("MAX_SIZE","2048");
// define the width and height for the thumbnail
// note that theese dimmensions are considered the maximum dimmension and are not fixed,
// because we have to keep the image ratio intact or it will be deformed
define ("WIDTH","200");
define ("HEIGHT","150");
// this is the function that will create the thumbnail image from the uploaded image
// the resize will be done considering the width and height defined, but without deforming the image
function make_thumb($img_name,$filename,$new_w,$new_h)
{



//get image extension.
$ext=getExtension($img_name);
//creates the new image using the appropriate function from gd library
if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext) || !strcmp("pjpeg",$type))
$src_img=imagecreatefromjpeg($img_name);
if(!strcmp("png",$ext))
$src_img=imagecreatefrompng($img_name);
if(!strcmp("gif",$ext))
$src_img=imagecreatefromgif($img_name);
//gets the dimmensions of the image
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);
// next we will calculate the new dimmensions for the thumbnail image
// the next steps will be taken:
// 1. calculate the ratio by dividing the old dimmensions with the new ones
// 2. if the ratio for the width is higher, the width will remain the one define in WIDTH variable
// and the height will be calculated so the image ratio will not change
// 3. otherwise we will use the height ratio for the image

$ratio1=$old_x/$new_w;
$ratio2=$old_y/$new_h;
if($ratio1>$ratio2) {
$thumb_w=$new_w;
$thumb_h=$old_y/$ratio1;
}
else {
$thumb_h=$new_h;
$thumb_w=$old_x/$ratio2;
}
// we create a new image with the new dimmensions
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
// resize the big image to the new created one
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);


// output the created image to the file. Now we will have the thumbnail into the file named by $filename
if(!strcmp("png",$ext))
imagepng($dst_img,$filename);
else if(!strcmp("gif",$ext))
imagegif($dst_img,$filename);
else
imagejpeg($dst_img,$filename);
//destroys source and destination images.
imagedestroy($dst_img);
imagedestroy($src_img);
}


// This function reads the extension of the file.
// It is used to determine if the file is an image by checking the extension.
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}


//Here follows the php code to process post data.
//The code contains image extension and size verification as well as uploading and resizing image.
//This variable is used as a flag. The value is initialized with 0 (meaning no error found)
//and it will be changed to 1 if an errro occures. If the error occures the file will not be uploaded.
$errors=0;
// checks if the form has been submitted
if(isset($_POST['Submit']))
{
for ($i = 1; $i <= $num_files; $i++) { 
//reads the name of the file the user submitted for uploading
$image=$_FILES['image']['name'];
// if it is not empty
if ($image)
{
// get the original name of the file from the clients machine
$filename = stripslashes($_FILES['image']['name']);
// get the extension of the file in a lower case format
$extension = getExtension($filename);
$extension = strtolower($extension);
// if it is not a known extension, we will suppose it is an error, print an error message
//and will not upload the file, otherwise we continue
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))

{
echo "<h1><font color='#999999'>Unknown extension!</font></h1>";
$errors=1;
}
else
{
// get the size of the image in bytes
// $_FILES[\'image\'][\'tmp_name\'] is the temporary filename of the file in which
//the uploaded file was stored on the server
$size=getimagesize($_FILES['image']['tmp_name']);
$sizekb=filesize($_FILES['image']['tmp_name']);
//compare the size with the maxim size we defined and print error if bigger
if ($sizekb > MAX_SIZE*1024)
{
echo "<h1><font color='#999999'>You have exceeded the size limit!</font></h1>";
$errors=1;
}
//we will give an unique name, for example the time in unix time format
$catagory=$_POST['catagory'];
$image_name=time().'.'.$extension;
//the new name will be containing the full path where will be stored (images folder)

$newname= "content/".$catagory."/".$image_name;
$copied = copy($_FILES['image']['tmp_name'],$newname);
       
#copy_marked($_FILES['image']['tmp_name'],$newname,$_FILES['image']['type']);

//we verify if the image has been uploaded, and print error instead
#if (!copy_marked)
if (!copied)
{
echo "<h1><font color='#999999'>Copy unsuccessfull!</font></h1>";
$errors=1;
}
else
{
// the new thumbnail image will be placed in images/thumbs/ folder
$catagory=$_POST['catagory'];

$thumb_name='content/thumbs/'.$catagory.'/thumb_'.$image_name;
// call the function that will create the thumbnail. The function will get as parameters
//the image name, the thumbnail name and the width and height desired for the thumbnail
$thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);
}} }} }
//If no errors registred, print the success message and show the thumbnail image created
if(isset($_POST['Submit']) && !$errors)
{
echo "<h1><font color='#999999'>Thumbnail created Successfully!</font></h1>";
echo '<img src="'.$thumb_name.'"><br />';


}

if(isset($_POST['Submit']))
{

      $newname = mysql_escape_string($_POST['piclink']);
  $thumb_name = mysql_escape_string($_POST['picurl']);
  $title = mysql_escape_string($_POST['title']);
  $catagory = mysql_escape_string($_POST['catagory']);
  $keywords = mysql_escape_string($_POST['keywords']);
  if ($membertype == 'A')
	{
	$statusflag = 'Y';
	} else {
	$statusflag = 'N';
	}
  $description = mysql_escape_string($_POST['description']);

              
   $result = mysql_query ("INSERT INTO content (title, catagory, date, time, description, statusflag, picurl, piclink, keywords, membernumber) VALUES 
   ('$title','$catagory','$todaysdate','$currenttime','$description','$statusflag', 'content/thumbs/$catagory/thumb_$image_name','content/$catagory/$image_name','$keywords','$id')",$db); 

     echo "<b><font color='#999999'> Insert succeeded</font></b><br />";
	 echo "<b><font color='#999999'> Your Item has been submitted for review!</font></b><br />"; 
         echo "<a href='content_upload.php'><font color='#999999'>Upload Another Item</font></a>";


}
else
{

?>

<form method="post" enctype="multipart/form-data" action="<? echo $PHP_SELF ?>"> 
<input type="hidden" name="date" value="<? $todaysdate ?>" >
<input type="hidden" name="time" value="<? $currenttime ?>" >

<table border="0" cellspacing="0" cellpadding="0"> 
					<tr>
                        <tr> 
					<td valign="top" height="35" align="center" colspan="2"><b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">
                        You may Upload Pictures In File Formats - gif, jpeg, jpg, pjpeg and png.<br> Including Animated Gifs.</font></b></td> 

					</tr> 
						<td width="100" align="left"><b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">Catagory</font></b></td>

						<td height="25" width="346">
                            <? if ($membertype == 'A'){ 
                            
                            $result = mysql_query("SELECT * FROM catagories ORDER BY catagory",$db);

						echo "<select name=catagory value=''>catagory</option>";
						// printing the list box select command

						while($nt=mysql_fetch_array($result)){//Array or records stored in $nt
						echo "<option value=$nt[catagory]>$nt[catagory]</option>";
						/* Option values are added by looping through the array */
						}
						echo "</select>";
						} else { ?> 
                            
                            <b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">To Be Determined By Admin</font></b>
                            <? } ?>
                            </td>
<tr> 
<td height="30"><b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">Title</font></b></td> 
<td><input name="title" size="51" type="text" id="title"></td> 
</tr> 
<tr> 
<td height="30"><b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">Description</font></b></td> 
<td><input name="description" size="51" type="text" id="descript"></td> 
</tr> 
<tr> 
<td height="30"><b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">Keywords</font></b></td> 
<td>
<? if ($membertype == 'A'){ ?>
<input name="keywords" size="51" type="text" id="keywords">
<? } else { ?>
<b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">To Be Determined By Admin</font></b>
<? } ?>
</td> 
</tr>
<tr>
<td> </td> 
<td> </td>
</tr>
<tr>
<? for ($i = 1; $i <= $num_files; $i++) { ?>
<td height="30" width="30"><b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">File<? echo "$i:" ?></font></b></td> 
<td>
<?
// show the file input field based on($num_files). 

echo "<input type=\"file\" name=\"image". $i ."\">"; 
?>
<!--<input type="file" size="40" name="image" > -->
 </td>

</tr> 
<br>
<? } ?>
<tr>
<td> </td> 
<td> </td>
</tr>
<tr> 
<td align="center" colspan="2"><input type="submit" name="Submit" value="Submit"> 
<input name="" type="reset"></td> 
</tr> 
</table> 
</form>
<center><a href="add_content.php"><img src="images/upload_menu.png" border="0"></a></center>

<?
}

I have posted the working code I have finally got it to work. I put some hours in this one. This file takes a predetermined number of files and makes a thumb, saves the thumb and the original to seperate folders then inputs the location into a mysql table for easy retrieval.

 

<?
session_start();
header ("Cache-Control: no-cache, must-revalidate");
$id = $_COOKIE[id];
$user_password = $_COOKIE[user_password];

$_GET[$thumb_name];
$_GET[$newname];
$_GET[$catagory];

require_once("support/variablehandling.pclass");
$codep = new secureurl ;
$codep->decode($ptv);
?>
<html>
<?
include "support/sitevariables.php";
$pagetitle = "$sitename - Members Menu | $catagory";
$logonrequired = "Y";
$typeoflogon = "M";
$loggingflag = "OFF";
$returnpage = "content_upload.php";
$pagename = "content_upload";

include "support/databaseopen.php";

if ($loggingflag == 'ON'){
include "support/checkpagecountfile.php";
}

if ($logonrequired == 'Y'){
include "support/usercheckroutine.php";
} else {
$validationflag = 'Y';
}

?>
<body bgcolor="#000000">

<?
//number of files to upload.
$num_files = 10; 

	//define a maxim size for the uploaded images
	define ("MAX_SIZE","2048");
	// define the width and height for the thumbnail
	// note that theese dimmensions are considered the maximum dimmension and are not fixed,
	// because we have to keep the image ratio intact or it will be deformed
	define ("WIDTH","200");
	define ("HEIGHT","150");
	// this is the function that will create the thumbnail image from the uploaded image
	// the resize will be done considering the width and height defined, but without deforming the image=
		function make_thumb($img_name,$filename,$new_w,$new_h)
		{
		//get image extension.
		$ext=getExtension($img_name);
		//creates the new image using the appropriate function from gd library
		if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext) || !strcmp("pjpeg",$type))
			$src_img=imagecreatefromjpeg($img_name);
			if(!strcmp("png",$ext))
			$src_img=imagecreatefrompng($img_name);
			if(!strcmp("gif",$ext))
			$src_img=imagecreatefromgif($img_name);
			//gets the dimmensions of the image
			$old_x=imageSX($src_img);
			$old_y=imageSY($src_img);
			// next we will calculate the new dimmensions for the thumbnail image
			// the next steps will be taken:
			// 1. calculate the ratio by dividing the old dimmensions with the new ones
			// 2. if the ratio for the width is higher, the width will remain the one define in WIDTH variable
			// and the height will be calculated so the image ratio will not change
			// 3. otherwise we will use the height ratio for the image

			$ratio1=$old_x/$new_w;
			$ratio2=$old_y/$new_h;
			if($ratio1>$ratio2) {
			$thumb_w=$new_w;
			$thumb_h=$old_y/$ratio1;
			} else {
			$thumb_h=$new_h;
			$thumb_w=$old_x/$ratio2;
			}
			// we create a new image with the new dimmensions
			$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
			// resize the big image to the new created one
			imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);


			// output the created image to the file. Now we will have the thumbnail into the file named by $filename
		if(!strcmp("png",$ext))
		imagepng($dst_img,$filename);
		else if(!strcmp("gif",$ext))
		imagegif($dst_img,$filename);
		else
		imagejpeg($dst_img,$filename);
		//destroys source and destination images.
		imagedestroy($dst_img);
		imagedestroy($src_img);
		}


		// This function reads the extension of the file.
		// It is used to determine if the file is an image by checking the extension.
		function getExtension($str) 
		{
		$e = strrpos($str,".");
		if (!$e) { return ""; }
		$l = strlen($str) - $e;
		$ext = substr($str,$e+1,$l);
		return $ext;
		}
		//Here follows the php code to process post data.
		//The code contains image extension and size verification as well as uploading and resizing image.
		//This variable is used as a flag. The value is initialized with 0 (meaning no error found)
		//and it will be changed to 1 if an errro occures. If the error occures the file will not be uploaded.

$errors=0;

// checks if the form has been submitted
if(isset($_POST['Submit']))
{
for ($i = 1; $i <= $num_files; $i++) 
	{ 
	//reads the name of the file the user submitted for uploading
	$image=$_FILES['image'.$i]['name'];
	// if it is not empty
	if ($image)
		{
		// get the original name of the file from the clients machine
		$filename = stripslashes($_FILES['image'.$i]['name']);
		// get the extension of the file in a lower case format
		$extension = getExtension($filename);
		$extension = strtolower($extension);
		// if it is not a known extension, we will suppose it is an error, print an error message
		//and will not upload the file, otherwise we continue
		if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif"))
			{
			echo "<h1><font color='#999999'>Unknown extension!</font></h1>";
			$errors=1;
			}
			else
			{
			// get the size of the image in bytes
			// $_FILES[\'image\'][\'tmp_name\'] is the temporary filename of the file in which
			//the uploaded file was stored on the server
			$size=getimagesize($_FILES['image'.$i]['tmp_name']);
			$sizekb=filesize($_FILES['image'.$i]['tmp_name']);
			//compare the size with the maxim size we defined and print error if bigger
			if ($sizekb > MAX_SIZE*1024)
				{
				echo "<h1><font color='#999999'>You have exceeded the size limit!</font></h1>";
				$errors=1;
				}
			//we will give an unique name, for example the time in unix time format
			$catagory=$_POST['catagory'];
			$image_name=time().''.$i.'.'.$extension;

			//the new name will be containing the full path where will be stored (images folder)

			$newname= "content/".$catagory."/".$image_name;
			$copied = copy($_FILES['image'.$i]['tmp_name'],$newname);
			if (!copied)
				{
				echo "<h1><font color='#999999'>Copy unsuccessfull!</font></h1>";
				$errors=1;
				}
				else
				{
				// the new thumbnail image will be placed in images/thumbs/ folder
				$catagory=$_POST['catagory'];
				$thumb_name='content/thumbs/'.$catagory.'/thumb_'.$image_name;
				// call the function that will create the thumbnail. The function will get as parameters
				//the image name, the thumbnail name and the width and height desired for the thumbnail
				#$newname = stripslashes($newname);
				$thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);
				}
			} 
		}


	//If no errors registered, print the success message and show the thumbnail image created
	if(isset($_POST['Submit']) && !$errors)
		{
		echo "<h1><font color='#999999'>Thumbnail created Successfully!</font></h1>";
		echo '<img src="'.$thumb_name.'"><br />'; 

	     $newname = mysql_escape_string($_POST['piclink']);
		 $thumb_name = mysql_escape_string($_POST['picurl']);
		 $title = mysql_escape_string($_POST['title']);
		 $catagory = mysql_escape_string($_POST['catagory']);
		 $keywords = mysql_escape_string($_POST['keywords']);
		 $statusflag = 'Y';
		 $description = mysql_escape_string($_POST['description']);
	   $result = mysql_query ("INSERT INTO content (title, catagory, date, time, description, statusflag, picurl, piclink, keywords, membernumber) VALUES 
	   ('$title','$catagory','$todaysdate','$currenttime','$description','$statusflag', 'content/thumbs/$catagory/thumb_$image_name','content/$catagory/$image_name','$keywords','$id')",$db); 
	     echo "<b><font color='#999999'> Insert succeeded</font></b><br />";
		}
	}	
echo "<a href='mass_content_upload.php'><font color='#999999'>Upload More Content</font></a>";
} else 
{
	?>
<form method="post" enctype="multipart/form-data" action="<? echo $PHP_SELF ?>"> 
<input type="hidden" name="date" value="<? $todaysdate ?>" >
<input type="hidden" name="time" value="<? $currenttime ?>" >

<table border="0" cellspacing="0" cellpadding="0"> 
					<tr>
                        <tr> 
					<td valign="top" height="35" align="center" colspan="2"><b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">
                        You may Upload Pictures In File Formats - gif, jpeg, jpg, pjpeg and png.<br> Including Animated Gifs.</font></b></td> 

					</tr> 
						<td width="100" align="left"><b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">Catagory</font></b></td>

						<td height="25" width="346">

                            <? if ($membertype == 'A'){ 
                            
                            $result = mysql_query("SELECT * FROM catagories ORDER BY catagory",$db);

						echo "<select name=catagory value=''>catagory</option>";
						// printing the list box select command

						while($nt=mysql_fetch_array($result)){//Array or records stored in $nt
						echo "<option value=$nt[catagory]>$nt[catagory]</option>";
						/* Option values are added by looping through the array */
						}
						echo "</select>";
						} else { ?> 
                            
                            <b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">To Be Determined By Admin</font></b>
                            <? } ?>
                            </td>
<tr> 
<td height="30"><b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">Title</font></b></td> 
<td><input name="title" size="51" type="text" id="title"></td> 
</tr> 
<tr> 
<td height="30"><b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">Description</font></b></td> 
<td><input name="description" size="51" type="text" id="descript"></td> 
</tr> 
<tr> 
<td height="30"><b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">Keywords</font></b></td> 
<td>
<? if ($membertype == 'A'){ ?>
<input name="keywords" size="51" type="text" id="keywords">
<? } else { ?>
<b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">To Be Determined By Admin</font></b>
<? } ?>
</td> 
</tr>
<tr>
<td> </td> 
<td> </td>
</tr>
<tr>
<? for ($i = 1; $i <= $num_files; $i++)
{
	?>
		<td height="30" width="30"><b><font size="2" face="Arial, Helvetica, sans-serif" color="#999999">File<? echo "$i:" ?></font></b></td> 
		<td>
	<?
	// show the file input field based on($num_files). 
	#echo "<input size='100' type=\"file\" name=\"image".$i."\">"; 
	?>
	<input type="file" size="100" name="image<? echo "$i" ?>"> </td></tr><br>
	<? 
} 
?>
<tr>
<td> </td> 
<td> </td>
</tr>
<tr> 
<td align="center" colspan="2"><input type="submit" name="Submit" value="Submit"> 
<input name="" type="reset"></td> 
</tr> 
</table> 
</form>
<? 
}
?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.