由於覺得看文檔耗費時,想試試用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;
}
}
}