ashrobbins87 Posted March 19, 2009 Share Posted March 19, 2009 This is a bit of a tricky problem to explain....but here goes. I have a script which uploads an image to a directory, and then on a separate php file I include() the script and send the image path to the DB. However I want to be able to do this for different image locations, in other words I want to be able to save one image path to one record in the DB table and a separate image path to another record in the DB table. I have managed to get it working for the first one, and when I set up the upload form for the second image I used a copy version of the image upload script, so I used include("../imageupload2.php) instead of include("../imageupload.php). The problem is that whichever one I use, both records in the DB are updated with the same path. The code for the page is below... <h3>Change images</h3> <table width="900"><tr><td> <?php include ("../image upload.php"); //upload photos //if it is not empty if ($newname) { $mysqli = mysqli_connect("localhost", "root", "pass", "opp_group"); echo" "; $newname = substr_replace($newname,"", 0, 3); if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } else { $imageHomeTopLeft_sql = "UPDATE image_paths SET path= '".$newname."' WHERE description = 'home_top_left'"; $imageHomeTopLeft_res = mysqli_query($mysqli, $imageHomeTopLeft_sql) or die (mysqli_error($mysqli)); mysqli_free_result($getTextHome_res); mysqli_close($mysqli); } } echo"</td> <td><img src=\"../Static_Images/hometopleft.jpg\" /></td><td valign=\"top\"><h3>Image on the left above the Menu Bar</h3></tr>"; ?> <tr><td> <?php include ("../image upload2.php"); //upload photos //if it is not empty if ($newname2) { $mysqli = mysqli_connect("localhost", "root", "pass", "opp_group"); echo" "; $newname2 = substr_replace($newname2,"", 0, 3); if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } else { $imageHomeTopMiddle_sql = "UPDATE image_paths SET path= '".$newname2."' WHERE description = 'home_top_middle'"; $imageHomeTopMiddle_res = mysqli_query($mysqli, $imageHomeTopMiddle_sql) or die (mysqli_error($mysqli)); // mysqli_free_result($getTextHome_res); mysqli_close($mysqli); } } echo"</td> <td><img src=\"../Static_Images/hometopleft.jpg\" /></td><td valign=\"top\"><h3>Image in the middle above the Menu Bar</h3></tr>"; ?> and the file imageupload.php is below. imageupload2.php is identical to this. <?php //define a maxim size for the uploaded images in Kb define ("MAX_SIZE","1000"); //This function reads the extension of the file. It is used to determine if the file is an image by checking the extension. function getExtension2($str) { $i = strrpos($str,"."); if (!$i) { return ""; } $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return $ext; } //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'])) { //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 = getExtension2($filename); $extension = strtolower($extension); //if it is not a known extension, we will suppose it is an error and will not upload the file, //otherwise we will do more tests if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) { //print error message echo '<h1>Unknown extension!</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=filesize($_FILES['image']['tmp_name']); //compare the size with the maxim size we defined and print error if bigger if ($size > MAX_SIZE*1024) { echo '<h1>You have exceeded the size limit!</h1>'; $errors=1; } //we will give an unique name, for example the time in unix time format $image_name=time().'.'.$extension; //the new name will be containing the full path where will be stored (images folder) $newname2="../Images/".$image_name; //we verify if the image has been uploaded, and print error instead $copied = copy($_FILES['image']['tmp_name'], $newname2); if (!$copied) { echo '<h1>Copy unsuccessfull!</h1>'; $errors=1; }}}} //If no errors registred, print the success message if(isset($_POST['Submit']) && !$errors) { echo "<h3>File Uploaded Successfully! Try again!</h3>"; echo $newname2; } //<!--next comes the form, you must set the enctype to "multipart/frm-data" and use an input type "file" --> echo" <form name=\"newad\" method=\"post\" enctype=\"multipart/form-data\" action=\"\"> <table> <tr><td><input type=\"file\" name=\"image\"></td></tr> <tr><td><input name=\"Submit\" type=\"submit\" value=\"Upload image\"></td></tr> </table> </form>"; ?> Link to comment https://forums.phpfreaks.com/topic/150143-solved-different-bits-of-code-use-the-same-script/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.