Jump to content

Double file upload.


Jacbey

Recommended Posts

Hi Guys, I'm having a problem with uploading a file. I want it to upload the photo then put the link into the database, but I need it to upload the picture into two directories. I have written the php for it but it keeps coming up with "Invalid File" which is in the else clause at the end of the whole thing.

 

Here is the code so far, including the form and database stuff.

 



<?php
session_start();
?>


			<td background="../images/middle.png" width="1124" height="" alt="Middle">
				<table align="center">
					<tr>
						<td>
							<table align="center" cellpadding="5">
								<?php

								$admin_session = $_SESSION['admin_login'];
								$username = $_REQUEST['username'];
								$password = $_REQUEST['password'];

								if ($admin_session == NULL) {
									echo "Sorry, wrong username or password. You will be redirected in 5 seconds.";
									echo "<meta http-equiv='refresh' content='5;url=../admin_login.php?access=error'>";
								}
								else {
									$myServer = "server";  
									$myUser = "user";
									$myPass = "password";
									$myDB = "database";

									//connection to the database
									$dbhandle = mysql_connect($myServer, $myUser, $myPass)
									  or die("Couldn't connect to SQL Server on $myServer"); 

									//select a database to work with
									$selected = mysql_select_db($myDB, $dbhandle)
									  or die("Couldn't open database $myDB"); 


									$query = "SELECT * FROM item WHERE show_admin = '1' ";

									$result = mysql_query($query) or die('Error Getting Information Requested');

									$row = mysql_fetch_array($result);

									$username = $row['username'] ;

									$num = mysql_num_rows($result);

									$item_list = mysql_result($result,$i,"item_id");



									echo "<br /> <br />" ;


									echo "<br /> <br />" ;

							if (!(isset($_POST['item_change_submit']))) {

								echo "<tr>
									<td>
										Name:
									</td>
									<td>
										Description:
									</td>
									<td>
										Photo:
									</td>
									<td>
										Price(£):
									</td>
									<td>
										Number of <br />views:
									</td>
									<td>
										To show <br />in shop:
									</td>
									<td>
										Category
									</td>
									<td>
										Grade
									</td>
									<td>
										Size
									</td>
									<td>
										Update Item
									</td>
								</tr>";

									$i = 0;
									while ($i < $num) {

									$f1 = "
									<form action='' method='post'>
									<input type='hidden' name='item_id' id='item_id' value='" . mysql_result($result,$i,"item_id") . "' />
									<tr>
									<td>
										<textarea rows='5' cols='10' name='item_name' id='item_name'>" . mysql_result($result,$i,"item_name") . "</textarea>
									</td>
									<td>
										<textarea rows='5' cols='10' name='description' id='description'>" . mysql_result($result,$i,"description") . "</textarea>
									</td>
									<td>
										<table align='center'>
											<tr>
												<td> <img src='"
													 . mysql_result($result,$i,"photo") .
												"' width='150' height='150' /> </td>
											</tr>
											<tr>
												<td>
													<input type='file' name='photo' id='photo' style='width:175px;'/> 
												</td>
											</tr>
										</table>
									</td>
									<td>
										<input type='text' name='price' id='price' value='" . mysql_result($result,$i,"price") . "' style='width:50px;'/>
									</td>
									<td>
										<input type='text' name='views' id='views' readonly='readonly' value='" . mysql_result($result,$i,"item_views") . "' style='width:50px;'/>
									</td>
									<td>
										<input type='text'  name='to_show' id='to_show' value='" . mysql_result($result,$i,"to_show") . "' style='width:50px;'/>
									</td>
									<td>
										<input type='text'  name='category' id='category' readonly='readonly' value='" . mysql_result($result,$i,"category") . "' style='width:50px;'/>
									</td>
									<td>
										<input type='text'  name='grade' id='grade' readonly='readonly' value='" . mysql_result($result,$i,"grade") . "' style='width:50px;'/>
									</td>
									<td>
										<input type='text'  name='size' id='size' value='" . mysql_result($result,$i,"size") . "' style='width:75px;'/>
									</td>
									<td>
										<input type='submit' name='item_change_submit' id='item_change_submit' value='Update Item.' />
									</td>

									</form>
									</tr>
									<tr>
										<td height='50'>
											 
										</td>
									</tr>";


									echo "" .  $f1 ."" ;

									$i++;
									}
								}
							else {

								if($_POST['photo'] == "")
									$photo_update = "images/item_pictures/default_item.png";
								else {
									if ((($_FILES["file"]["type"] == "image/gif")
									|| ($_FILES["file"]["type"] == "image/jpeg")
									|| ($_FILES["file"]["type"] == "image/pjpeg"))
									&& ($_FILES["file"]["size"] < 200000000))
									  {
									  if ($_FILES["file"]["error"] > 0)
									    {
									    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
									    }
									  else
									    {
									    echo "Upload: " . $_FILES["file"]["name"] ."<br />";
									    echo "Type: " . $_FILES["file"]["type"] . "<br />";
									    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
									    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

									//Check image doesn't exist in first folder then uploads if doesn't.
									    if (file_exists("images/item_pictures/" . $_FILES["file"]["name"]))
									      {
									      echo $_FILES["file"]["name"] . " already exists. ";
									      }
									    else
									      {
									      move_uploaded_file($_FILES["file"]["tmp_name"], "images/item_pictures/" . $_FILES["file"]["name"]);
									      echo "Stored in: " . "images/item_pictures/" . $_FILES["file"]["name"];
									      }

									//Check image doesn't exist in second*admin*folder then uploads if doesn't.
										if (file_exists("admin/images/item_pictures/" . $_FILES["file"]["name"]))
									      {
									      echo $_FILES["file"]["name"] . " already exists. ";
									      }
									    else
									      {
									      move_uploaded_file($_FILES["file"]["tmp_name"], "admin/images/item_pictures/" . $_FILES["file"]["name"]);
									      $photo_update = "admin/images/item_pictures/" . $_FILES["file"]["name"];
										  echo "Stored in: " . $uploaded_file;
									      }

									    }
									  }
									else
									  {
									  echo "Invalid file";
									  }
								}



								$item_update_query = "UPDATE item SET item_name = '" . $_POST['item_name'] . "', description = '" . $_POST['description'] . "', photo = '" . $photo_update . "', price = '" . $_POST['price'] . "', to_show = '" . $_POST['to_show'] . "', size = '" . $_POST['size'] . "' WHERE item_id = '" . $_POST['item_id'] . "'";


								if (mysql_query($item_update_query)){
									echo "The item " . $_POST['item_name'] . " was changed with the following information: ";
									echo "<br /><br />";
									echo "<tr>
									<td>
										<textarea readonly='readonly' rows='5' cols='10' name='item_name' id='item_name'>" . $_POST['item_name'] . "</textarea>
									</td>
									<td>
										<textarea readonly='readonly' rows='5' cols='10' name='description' id='description'>" . $_POST['description'] . "</textarea>
									</td>
									<td>
										<td> <img src='"
											 . $photo_update .
										"' width='150' height='150' /> 
										</td>
									</td>
									<td>
										<input type='text' readonly='readonly' name='price' id='price' value='" . $_POST['price'] . "' style='width:50px;'/>
									</td>
									<td>
										<input type='text' readonly='readonly' name='views' id='views' readonly='readonly' value='" . $_POST['views'] . "' style='width:50px;'/>
									</td>
									<td>
										<input type='text' readonly='readonly'  name='to_show' id='to_show' value='" . $_POST['to_show'] . "' style='width:50px;'/>
									</td>
									<td>
										<input type='text' readonly='readonly'  name='category' id='category' readonly='readonly' value='" . $_POST['category'] . "' style='width:50px;'/>
									</td>
									<td>
										<input type='text' readonly='readonly'  name='grade' id='grade' readonly='readonly' value='" . $_POST['grade'] . "' style='width:50px;'/>
									</td>
									<td>
										<input type='text' readonly='readonly'  name='size' id='size' value='" . $_POST['size'] . "' style='width:75px;'/>
									</td>
									</tr>";
								}
							}
							}






								?>
								</table>
							</td>
						</tr>
				</table>
			</td>
		</tr>

Link to comment
Share on other sites

I've also noticed, your php code refers too:

$_FILES["file"]

 

however, your html has

<input type='file' name'photo' />

 

Your HTML code would produced a $_FILES['photo'] array if that makes sense.

 

i'd either:

change the php code to use $_FILES["photo"] instead of $_FILES["file"]

or,

Rename the file input to have a name='file'

 

Hope this helps,

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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