tylrwb Posted November 21, 2009 Share Posted November 21, 2009 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> <? } Link to comment https://forums.phpfreaks.com/topic/182368-need-help-with-script-i-have-modified-this-script-to-my-needs/ Share on other sites More sharing options...
tylrwb Posted November 22, 2009 Author Share Posted November 22, 2009 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> <? } ?> Link to comment https://forums.phpfreaks.com/topic/182368-need-help-with-script-i-have-modified-this-script-to-my-needs/#findComment-963062 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.