Jump to content

PHP5 Class Not Acces Public variable


0xyGen

Recommended Posts

Hi everybody, im coding a smilar php thumbnail class on php5 but i have a problem. i cant access public variable.

 

my codes

 

class thumbnail
{

private $tmp;
private $ul_dir;
private $thumbdir;
public $filetypes   = 'jpg,jpeg,gif,png';
public $renamefile;
public $rename;
public $errors = array();

public Function __construct($temp,$upload_dir,$thumb_dir,$t_name,$_name)
{
	$this->tmp 		= $temp;
	$this->ul_dir 	= $upload_dir;
	$this->thumbdir = $thumb_dir;
//*****LOOK THIS
echo $this->rename;
echo $this->renamefile;
//****** 
	if(!is_dir($this->tmp)) 
	{  
		$this->errors[] = 'Bu Dizin Kullanılabilir Değil : <b>'. $this->tmp . '</b>';
	}
	elseif(!is_dir($this->ul_dir))
	{ 
		$this->errors[] = 'Bu Dizin Kullanılabilir Değil : <b>'. $this->ul_dir . '</b>';
	}
	elseif(!is_dir($this->thumbdir))
	{ 
		$this->errors[] = 'Bu Dizin Kullanılabilir Değil : <b>'. $this->thumbdir . '</b>';
	}
	else
	{
		$this->_upload($t_name,$f_name);
	}
}


public Function _upload($tmp_name,$file_name)
{
	if($this->renamefile)
	{
	echo 'if';
		$file_name = $this->rename;
	}
	else
	{
	echo 'else';
		$file_name = substr(md5(uniqid((double)microtime()*1000000)),0,10);
	}
	$filetype = $this->checkfiletypes($file_name);
	if(!preg_match("/($filetype)$/",$file_name))
	{
		$this->errors[] = 'Desteklenmeyeden Dosya Biçimi';
		return false;
	}


/*	if(move_uploaded_file($tmp_name,$this->tmp.'/'.$file_name))
	{
		return true;
	}
	*/
}


private Function checkfiletypes($filetype)
{
	$filetype = explode(',',$filetype);
	$filetype = implode('|',$filetype);
	return $filetype;
}


public Function getmessage()
{
	echo '<ul>';
	foreach($this->errors as $error)
	{
	echo '<li>'.$error.'</li>';
	}
	echo '</ul>';
}

}
if(isset($_POST['submit']))
{
//print_r($_FILES);
$img = new thumbnail('temp','upload','upload/thumb',$_FILES['dosya']['tmp_name'],$_FILES['dosya']['name']);
$img->renamefile = TRUE;
$img->rename = "0xyGen.jpg";
$img->getmessage();
}


?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="dosya">
<input type="submit" name="submit" value="submit">
</form>

 

i seted $img->rename = TRUE; but write on class then upload a example.jpg output is a blank.

 

Link to comment
https://forums.phpfreaks.com/topic/171632-php5-class-not-acces-public-variable/
Share on other sites

Echo'ing the rename or renamefile class variable within your constructor wont display anything as these variables are set after you have created a new instance of your thumbnail class.

 

Remember the constructor is called when you create a new instance of your class, This is how you're calling your class.

$img = new thumbnail('temp','upload','upload/thumb',$_FILES['dosya']['tmp_name'],$_FILES['dosya']['name']);

 

After that line you're then setting your class variables

   $img->renamefile = TRUE;
   $img->rename = "0xyGen.jpg";

 

Archived

This topic is now archived and is closed to further replies.

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