Here is where I am putting $_FILES into a variable. I tried doing it another way as well and it doesn't work. I have had no luck at all. I am also posting regular form fields from the same html form and the information is updated or inserted into the database.
I just looked at my php.ini file and file uploads are set to on, the tmp file directory is default, although I did change that and create a directory that has 777 file permissions. Registerd Globals are off. Does anyone know what the best configuration for file uploads is in php.ini?
<PHP>
$files = $_FILES;
foreach ($files as $filename => $val)
{
$filename;
$files[$filename]['name'];// contains the file name.
}
// Clean and trim the POSTed values MAY not need this or may have to do this another way
foreach($_POST as $varname => $value)
$pageFormVars[$varname] = clean($value, 512);
// Validate the home, about, and native anmerican categories apges
if (($id == 1) || ($id == 3) || ($id >= 5) && ($id <= $cat))
{
// Validate pgtitle
if (empty($pageFormVars["pgtitle"]))
// The pgtitle for the home page cannot be NULL
$errorString .= "\n<br>The pgtitle field cannot be blank.";
</PHP>
Here are a couple different ways I have tried to do file uploads. ABove is just my validation and a foreach loop I tried that i saw in here.
WAY 1
<PHP>
if (!($connection = @ mysql_pconnect($hostName,
$username,
$password)))
die("Could not connect to the database");
if (!mysql_select_db($databaseName, $connection))
showerror();
if(empty($error))
{
print_r($POST);
print_r($FILES);
if ($_FILES['picture1']['name'])
{
$uploaddir = '/home/httpd/vhosts/turquoisepueblo.com/httpdocs/images/';
$uploadfile = $uploaddir . basename($_FILES['pic']['name']);
$picture1 = basename($_FILES['pic']['name']);
if (move_uploaded_file($_FILES['pic']['tmp_name'], $uploadfile))
{
if(!mysql_query("INSERT picture SET picid = '".$picid."'
pageid = '".$pageid."'
picture1='".$picture1."'", $connection))
die ('Could not insert into database because: ' . mysql_error());
}
}
elseif (!$_FILES['pic']['name'])
{
if(!mysql_query("INSERT picture SET picid = '".$picid."'
pageid = '".$pageid."'
picture1='".$picture1."'", $connection))
die ('Could not insert into database because: ' . mysql_error());
}
else
{
$error .= "There was a problem uploading the image and therefore no listing was added. Please try again";
}
}
?>
</PHP>
This is the HTML form I am using and I need to make file uploads work with. When you see a tag like {PAGES.pgname} in this form it is there because I am using x template which parses an html document and keeps my html code separated from my php code. When I parse a query with xtemplate and put these tags in the form the information is loaded into the form from the database for update or if the field is empty it will load nothing into the field.
<table>
<tr><!-- BEGIN: id -->
<td><form action="forms/pagesFormSubmit.php?id={id}" method="post" enctype="multipart/form-data" name="">
<!-- END: id -->
<!-- BEGIN: form -->
<div align="center">
<input name="MAX_FILE_SIZE" type="hidden" value="100000">
<span class="style1">Fill out this form to insert or modify<br>
information for your {PAGES.pgname} page. </span> </div>
<table width="387" border="0" align="center" cellpadding="5" cellspacing="5">
<tr>
<td width="288"><div align="right"><span class="style4">Required fields are in red. </span></div></td>
<td width="64"><div align="right"><a href="help/pagesFormHelp.htm">help ?</a> </div></td>
</tr>
</table>
<table width="528" border="0" align="center" cellpadding="5" cellspacing="5">
<tr>
<td colspan="2"><div align="center"><span class="style3">Page Header </span></div></td>
</tr>
<tr>
<td width="350"><div align="right" class="style5">Title:</div></td>
<td><input type="text" name="pgtitle" value="{PAGES.pgtitle}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Name:</div></td>
<td width="245"><input type="text" name="pgdesc" value="{PAGES.pgname}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Meta Tag Description:</div></td>
<td width="245"><input type="text" name="pgname" value="{PAGES.pgdesc}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Meta Tag Keyword1: </div></td>
<td width="245"><input type="text" name="kywd1" value="{PAGES.kywd1}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Meta Tag Keyword2: </div></td>
<td width="245"><input type="text" name="kywd2" value="{PAGES.kywd2}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Meta Tag Keyword3: </div></td>
<td width="245"><input type="text" name="kywd3" value="{PAGES.kywd3}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Meta Tag Keyword4: </div></td>
<td width="245"><input type="text" name="kywd4" value="{PAGES.kywd4}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Meta Tag Keyword5: </div></td>
<td width="245"><input type="text" name="kywd5" value="{PAGES.kywd5}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Meta Tag Keyword6: </div></td>
<td width="245"><input type="text" name="kywd6" value="{PAGES.kywd6}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Meta Tag Keyword7: </div></td>
<td width="245"><input type="text" name="kywd7" value="{PAGES.kywd7}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Meta Tag Keyword8: </div></td>
<td width="245"><input type="text" name="kywd8" value="{PAGES.kywd8}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Meta Tag Keyword9: </div></td>
<td width="245"><input type="text" name="kywd9" value="{PAGES.kywd9}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Meta Tag Keyword10: </div></td>
<td width="245"><input type="text" name="kywd10" value="{PAGES.kywd10}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Meta Tag Keyword11: </div></td>
<td width="245"><input type="text" name="kywd11" value="{PAGES.kywd11}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Meta Tag Keyword12: </div></td>
<td width="245"><input type="text" name="kywd12" value="{PAGES.kywd12}"></td>
</tr>
<tr>
<td colspan="2"><div align="center" class="style1 style2">Headings</div></td>
</tr>
<tr>
<td><div align="right" class="style5">Heading:</div></td>
<td width="245"><input type="text" name="heading" value="{PAGES.heading}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Sub Heading: </div></td>
<td><input type="text" name="subheading" value="{PAGES.subheading}"></td>
</tr>
<tr>
<td colspan="2"><div align="center" class="style3">Upload Pictures </div></td>
</tr>
<tr>
<td><div align="right" class="style5">Picture #1: </div></td>
<td><input name="picture1" type="file" id="picture1"></td>
</tr>
<tr>
<td><div align="right" class="style5">Picture #1 Text: </div></td>
<td><input type="text" name="picturetext1" value="{PAGES.picturetext1}"></td>
</tr>
<tr>
<td><div align="right" class="style5">Picture #2: </div></td>
<td><input name="picture2" type="file" id="picture2"></td>
</tr>
<tr>
<td><div align="right" class="style5">Picture #2 Text: </div></td>
<td><input type="text" name="picturetext2" value="{PAGES.picturetext2}"></td>
</tr>
<tr>
<td colspan="2"><div align="center"><span class="style3">Paragraphs</span></div></td>
</tr>
<tr>
<td valign="middle"><div align="right" class="style5">Paragraph #1: </div></td>
<td><textarea name="paragraph1" cols="35" rows="10">{PAGES.paragraph1}</textarea></td>
</tr>
<tr>
<td><div align="right" class="style5">Paragraph #2: </div></td>
<td><textarea name="paragraph2" cols="35" rows="15">{PAGES.paragraph2}</textarea></td>
</tr>
<tr>
<td><div align="right" class="style6">Paragraph #3: </div></td>
<td><textarea name="paragraph3" cols="35" rows="15">{PAGES.paragraph3}</textarea></td>
</tr>
<tr>
<td><div align="right" class="style6">
<p>Paragraph #4: </p>
<p> </p>
</div></td>
<td><textarea name="paragraph4" cols="35" rows="15">{PAGES.paragraph4}</textarea></td>
</tr>
<tr>
<td><p> </p></td>
<td><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</form></td>
</tr>
</table>
<!-- END: form -->