2011-04-06 81 views
1

我有很多类型的对象:类别,制造商,项目,文章等每个对象都有它的文件上传:图像,pdf等手册。上传的文件可以公开和保护(仅可查看/下载为注册用户)。上传包装类

我想将整个上传例程包装成一个(或更多)类。

此刻我在index.php处有两个定义的常量(PATH_UPLOAD_PUBLIC,PATH_UPLOAD_PROTECTED)。这是存储公共和受保护文件的绝对路径。公共路径可从Web获得,受保护路径不可从Web访问(它位于虚拟主机文档根目录下)。

此刻每个控制器处理上传的方法都有一段包含move_uploaded_file()等的代码。

请帮助使它更美观,并将此代码分为类。

谢谢。 PS:对不起,我的英文不好。

+1

我怕我不明白你期待什么样的回答。 – Nick 2011-04-06 11:55:37

+0

也许是现有类的任何样本。或者可能是另一个程序员如何实现上传类的故事。 – Kirzilla 2011-04-06 12:02:21

回答

1

如果您正在查找有关如何创建处理上载的类的示例,请转至http://www.phpclasses.org并搜索文件上载类。

如果你想玩耍,并创建自己的。我会建议开始简单。创建一个构造,然后基本上将使用一个参数public或private的方法取决于您想要移动文件的位置。在这个方法中,你把你的move_upload_file逻辑)。

所以,你最终有这样的事情:

$fileupload - new MyFileUploadClass(); //you class would have to have _-construct obvioulsy 
$fileupload->uploadfile(true); // you uploadfile would have one parameter being true or false and then 

你的方法将是这个样子

function uploadfile($private=false){ 
$path = PATH_UPLOAD_PUBLIC; 
if($private) 
    $path = PATH_UPLOAD_PRIVATE; 
    move_upload_file($_FILE[name], $path); 
}