вземане на данните и заместването във FILES

embaka

Registered
здравейте,

значи чрез това $this->_vars['image'] ми се вземат стойността от масива, която се изпраща от формата, но не мога да разбера как да я сложа във files масива


$image = $_FILES['image']['name'];
 
това е функцията, $this->_vars['image']; е стойността от изпратената снимка от формата, добавям кода за качване на снимка, обаче не ми работи, защото на мястото на $_FILES['image'] да е $this->_vars['image']

Код:
public function _processWinner()
	{
		if (isset($this->_vars['process']))
		{
		
			print_r($this->_vars);
			$this->_validateFields($this->_winner_required);
			if (sizeof($this->_errors) > 0)
			{ 
				$this->_smh->assign('filldata', $this->_vars);
				$this->_smh->assign('errors', $this->_errors);
			}
			else 
			{
				$insert_win = array();
				$insert_win['product'] = $this->_vars['product'];
				$insert_win['name'] = $this->_vars['name'];
				$insert_win['sure_name'] = $this->_vars['sure_name'];
				$insert_win['family_name'] = $this->_vars['family_name'];
				$insert_win['egn'] = $this->_vars['egn'];
				$insert_win['id_number'] = $this->_vars['id_number'];
				$insert_win['id_from'] = $this->_vars['id_from'];
				$insert_win['town'] = $this->_vars['town'];
				$insert_win['postcode'] = $this->_vars['postcode'];
				$insert_win['address'] = $this->_vars['address'];
				$insert_win['phone'] = $this->_vars['phone'];
				//$insert_win['image'] = $this->_vars['image'];
				$insert_win['shipping_town'] = $this->_vars['shipping_town'];
				$insert_win['shipping_postcode'] = $this->_vars['shipping_postcode'];
				$insert_win['shipping_address'] = $this->_vars['shipping_address'];
				$insert_win['date'] = time();
				$insert_win['ip'] = $_SERVER['REMOTE_ADDR'];
				
				
				define ("MAX_SIZE","1000"); 

				 function getExtension($str) 
				 	{
						 $i = strrpos($str,".");
						 if (!$i) { return ""; }
						 $l = strlen($str) - $i;
						 $ext = substr($str,$i+1,$l);
						 return $ext;
					 }
	
				$errors=0;
				$this->_vars['image']

 				$image = $_FILES['image']['name'];
 				if ($image) 
 				{
 	 			$filename = stripslashes($_FILES['image']['name']);	
  				$extension = getExtension($filename);
 				$extension = strtolower($extension);
				if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) 
 					{
 						echo '<h1>Unknown extension!</h1>';
 						$errors=1;
 					}
 				else
 					{
 						$size=filesize($_FILES['image']['tmp_name']);
						if ($size > MAX_SIZE*1024)
							{
								echo '<h1>You have exceeded the size limit!</h1>';
								$errors=1;
							}
						$image_name=time().'.'.$extension;
						$newname="img/winners/".$image_name;
						$copied = copy($_FILES['image']['tmp_name'], $newname);
						if (!$copied) 
							{
								echo '<h1>Copy unsuccessfull!</h1>';
								$errors=1;
							}
					}
				}
					
				$insert_win['image'] = $image_name;

				$winners = $this->_dbh->Execute("SELECT * FROM `winners`");
				$this->_qrh	= $this->_dbh->GetInsertSQL($winners, $insert_win);				
				$this->_dbh->Execute($this->_qrh);
				$this->_smh->assign('success', 'true');
			}			
		}
		$this->_qrh = "SELECT `h1_name`,`description`,`content`,`meta_title`,`meta_keywords`,`meta_description` FROM `pages` WHERE `url` = 'registracia-winner'";
		$this->_holder = $this->_dbh->GetRow($this->_qrh);
		$this->_smh->assign('page', $this->_holder);
		$_meta = array();
		$_meta['title'] = $this->_holder['meta_title'];
		$_meta['keywords'] = $this->_holder['meta_keywords'];
		$_meta['description'] = $this->_holder['meta_description'];
		$this->_smh->assign('metaData', $_meta);
		$this->_smh->display('regwin.tpl');
	}
 
Защото функцията _processWinner() ти метод на някакъв клас.Достъп до нея и до свойсвата на класа имаш само чрез $this-> :twisted:
 

Back
Горе