php oop上传文件并检查扩展名
嘿,从,我用一些函数更新脚本。尺寸检查功能和扩展检查功能。但在某个地方,扩展检查功能出了问题php oop上传文件并检查扩展名,php,oop,Php,Oop,嘿,从,我用一些函数更新脚本。尺寸检查功能和扩展检查功能。但在某个地方,扩展检查功能出了问题 <?php class upload{ public $src = "upload/"; public $tmp; public $filename; public $typefl; public $uploadfile; public $type = array("php", "css", "js", "html", "htm", ".php");
<?php
class upload{
public $src = "upload/";
public $tmp;
public $filename;
public $typefl;
public $uploadfile;
public $type = array("php", "css", "js", "html", "htm", ".php");
function __construct(){
$this -> filename = $_FILES["file"]["name"];
$this -> tmp = $_FILES["file"]["tmp_name"];
$this -> uploadfile = $this -> src . basename($this -> filename);
}
public function sizeck(){
if($_FILES["file"]["size"] > 50000000){
echo "Fisier prea mare";
return true;
}
}
public function extens(){
$this -> typefl = pathinfo($this -> tmp, PATHINFO_EXTENSION);
if(in_array($this -> typefl, $this -> type)){
echo "Fisier nepermis!!!";
return false;
}
else{
return true;
}
}
public function uploadfile(){
if(move_uploaded_file($this -> tmp, $this -> uploadfile)){
return true;
}
}
}
?>
电话上传是:
<?php
if(isset($_FILES['file'])){
$fileupload = new upload();
if(!$fileupload -> sizeck()){
if(!$fileupload -> extens()){
if($fileupload -> uploadfile()){
echo 'Fisierul a fost uploadat';
}
}
}
}
?>
我哪里做错了,为什么???你的if语句有
,这意味着如果extens()
返回false
,则为true
但如果这是真的,你就不想继续前进。所以删除代码>
if(!$fileupload -> extens()){
应该是
if($fileupload -> extens()){
您无法获取扩展表单tmp\u name
。它应该是名称
<代码>tmp_名称
的名称中没有扩展名
所以改变
$this -> tmp = $_FILES["file"]["tmp_name"];
到
是的…谢谢,但文件不是检查文件,带有php/html和其他扩展名的文件在数组中,上传时没有任何问题。我的代码中有什么错误?:(请参阅我编辑的答案。您的扩展名来自错误的名称。
$this -> tmp = $_FILES["file"]["name"];