由于觉得看文档耗费时,想试试用PHP原先的上传文件方法能否行的通,结果实践证明是行的通的。
codes的值是由我自己定义的,各位可以修改成自己需要的值。代码编写比较粗略,用了好多if判断。应该可以进一步优化。
首先要在storage里自己生成一个domain。在下面代码中$domain,请填写自己的domain的名字。
其他不多说了,直接上代码:
<?php
function upload($_FILES) //用于上传图片
{
$domain="fealimg";
$max_file_size=2000000;
$upload_dir="saestor://".$domain."/img/";
if(!is_dir($upload_dir)) //如果不存在,则创建一个,权限为0700
{
mkdir($upload_dir,0700);
}
if($_FILES['file']['error']>0)
{
$return=array('data'=>'','codes'=>356);
return $return;
}
else
{
if($_FILES['file']['type']=='image/gif'
||$_FILES['file']['type']=='image/jpg'
||$_FILES['file']['type']=='image/jpeg'
||$_FILES['file']['type']=='image/pjpeg'
||$_FILES['file']['type']=='image/png'
||$_FILES['file']['type']=='image/bmp'
||$_FILES['file']['type']=='image/x-png') //图片是否符合格式
{
if($max_file_size>=$_FILES['file']['size'])
{
$fileName=$_FILES['file']['name'];
if(is_file($upload_dir.$fileName)) //判断文件是否已存在
{
$return=array('data'=>'','codes'=>359);
return $return;
}
if(move_uploaded_file($_FILES['file']['tmp_name'], $upload_dir.$fileName))
{
$return=array('data'=>'','codes'=>200);
return $return;
}
else
{
$return=array('data'=>'','codes'=>700);
return $return;
}
}
else
{
$return=array('data'=>'','codes'=>358);
return $return;
}
}
else
{
$return=array('data'=>'','codes'=>357,'type'=>$_FILES['file']['type']);
return $return;
}
}
}