I have a action.editsponsor.php, sponsor.tpl and action.do_editsponsor.php.
editsponsor:
Code: Select all
[code] $this->smarty->assign ("startform",
$this->CreateFormStart ($id, 'do_editsponsor', $returnid));
$this->smarty->assign ('submit',
$this->CreateInputSubmit ($id, 'submit', 'Submit'));
$this->smarty->assign ('cancel',
$this->CreateInputSubmit ($id, 'cancel', 'Cancel'));
$this->smarty->assign ('endform', $this->CreateFormEnd ());
$this->smarty->assign( 'imagefile',
$this->CreateFileUploadInput ($id,'imagefile'));
Code: Select all
define ("MAX_SIZE","50000");
//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;
}
$errors=0;
//checks if the form has been submitted
if(isset($params['submit']))
{
//reads the name of the file the user submitted for uploading
$image=$params['imagefile']['name'];
//if it is not empty
if ($image)
{
//get the original name of the file from the clients machine
$filename = stripslashes($params['imagefile']['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 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($params['imagefile']['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;
}
//Giving the new imagefile the old name
$image_name=$image;
//the new name will be containing the full path where will be stored (images folder)
$newname="images/".$image_name;
//we verify if the image has been uploaded, and print error instead
$copied = copy($params['imagefile']['tmp_name'], $newname);
if (!$copied)
{
echo '<h1>Copy unsuccessfull!</h1>';
$errors=1;
}}}}
//If no errors registred, print the success message
if(isset($params['submit']) && !$errors)
{
echo "File Uploaded Successfully!";
}
If I make this script in a seperate php file with a "normal" form it works great... What can be wrong?[/code]