這是我從devshed得到的腳本。它在Opera和其他程序(不在IE中)中效果很好。我的問題是:這個腳本如何在沒有$_FILES['userfile']['name'] & $_FILES['userfile']['tmp_name']
的情況下工作?Php OOps文件上傳工作腳本
<?php
class FileUploader
{
private $uploadFile;
private $name;
private $tmp_name;
private $type;
private $size;
private $error;
private $allowedTypes=array
('image/jpeg','image/gif','image/png','text/plain','application/ms-word');
public function __construct($uploadDir="./uploadfl/")
{
if(!is_dir($uploadDir)){
throw new Exception('Invalid upload directory.');
}
if(!count($_FILES))
{
throw new Exception('Invalid number of file upload parameters.');
}
foreach($_FILES['userfile'] as $key=>$value)
{
$this->{$key}=$value;
}
if(!in_array($this->type,$this->allowedTypes))
{
throw new Exception('Invalid MIME type of target file.');
}
$this->uploadFile=$uploadDir.basename($this->name);
}
// upload target file to specified location
public function upload(){
if(move_uploaded_file($this->tmp_name,$this->uploadFile)){
return true;
}
}
}
?>
<?php
if($_POST['send']){
//require_once 'fileuploader.php';
$fileUploader=new FileUploader();
if($fileUploader->upload()){
echo 'Target file uploaded successfully!';
}
}
?>
你提到'enctype'形式'是enctype =多部分/格式data' – Rafee 2012-04-26 13:36:09
耶所有沒關係......這個腳本工作..只是在想---沒有$ _FILEs ['userfile'] ['name']&$ _FILEs ['userfile'] ['tmp_name'] this part..iam new to oops so – jathin 2012-04-26 13:48:48
@jathin check out http://stackoverflow.com/questions/10291655/ php-move-uploaded-file/10291918#10291918更清潔n安全和不會拋出異常,返回很好的錯誤信息 – 2012-04-26 13:54:05