Re: uploading a file from a form
| From: | Tom Rogers | Date: | Tue, 29 Jul 2003 07:47:45 +0000 |
| Subject: | Re: uploading a file from a form | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-157279@lists.php.net to get a copy of this message | ||
Hi,
Friday, July 25, 2003, 1:48:50 AM, you wrote:
AM> I am having a problem with uploading a file from a form. I changed the
AM> permission on the directory, but I am still getting an error. Here is my
AM> error:
AM> Copy failed./home/vencel/www/images/apt/company_logo/14Update Failed!
AM> It looks like it's not finding the file type. Here is my code:
AM> <? include("../includes/database.php"); ?>
AM> <?
AM> $long_path = "/home/vencel/www/images/apt/";
AM> $short_path = "../images/apt/";
AM> if (($REQUEST_METHOD=='POST')) {
AM> for(reset($HTTP_POST_VARS);
AM> $key=key($HTTP_POST_VARS);
AM> next($HTTP_POST_VARS)) {
AM> $this = addslashes($HTTP_POST_VARS[$key]);
AM> $this = strtr($this, ">", " ");
AM> $this = strtr($this, "<", " ");
AM> $this = strtr($this, "|", " ");
AM> $$key = $this;
AM> }
AM> //Check for form fields, insert them.
AM> //Pull out the id auto-incremented from previous insert.
AM> //Check to see if a full-sized photo was uploaded
AM> if ($photo == "none") {
AM> echo "No photo.";
AM> } else {
AM> $end = strrchr($photo_name, ".");
AM> echo $end;
AM> $new_photo_name = $company_id[0] . $end;
AM> if (!@copy($photo, $long_path . "company_logo/" . $photo_name)) {
AM> echo "Copy failed.";
AM> echo $long_path . "company_logo/" . $photo_name;
AM> echo $new_photo_name;
AM> } else {
AM> $long_photo_path = $long_path . "company_logo/" . $new_photo_name;
AM> $photo_path = $short_path . "company_logo/" . $new_photo_name;
AM> if (!@rename($long_path . "logo/" . $photo_name,
AM> $long_photo_path)){
AM> echo "Full sized photo not renamed.";
AM> }
AM> }
AM> }
AM> $add_image_query .= "UPDATE apt_company_t set
AM> company_logo_path='$photo_path', ";
AM> $add_image_query .= "WHERE company_cd = $company_id[0]";
AM> mysql_query($add_image_query) or die("Update Failed!");
AM> }
} ?>>
AM> <FORM METHOD="post" ACTION=<? echo $PHP_SELF ?>>
AM> <table>
AM> <TR>
AM> <td colspan = 2><B>Use the <i>Browse</i> button to locate your file
AM> on
AM> your computer or local network.</B></td></tr>
AM> <tr>
AM> <td>Company Logo File: </td><td><input type="file"
AM> name="photo"
size="30">></td></tr>
AM> <tr>
AM> <td colspan=2 align=center><INPUT TYPE="submit"
AM> VALUE="Add"></td>
AM> </tr>
AM> </table>
AM> </FORM>
AM> Any ideas?
The first thing is to add ENCTYPE="multipart/form-data" to the form
tag.
<FORM ENCTYPE="multipart/form-data" METHOD="post" ACTION=<? echo $PHP_SELF
?>>
Then the rest will depend on what version of php you have.
It may be worth doing print_r($_FILES); to see if that is available.
--
regards,
Tom