PHP上传文件、图片
<?php
namespace App\Http\Controllers;
class UploadsController extends Controller {
//获取文件夹下文件数量
public function getFileNumber($url){
$num=0;
$arr = glob($url);
foreach ($arr as $v) {
if(is_file($v)) {
$num++;
}
else {
$num+=$this->getFileNumber($v."/*");
}
}
return $num;
}
public function moveFileExploit($filename){
$old_path = '/var/www/xiaocb/'.$filename;
$newName = time().'-'.$filename;
$nowDay = date('Y-m-d');
$new_path = '/uploads/images/'.$nowDay.'/'.$newName;
//如果没有文件夹 则自动创建
if(!is_dir($_SERVER['DOCUMENT_ROOT'].'/uploads/images/'.$nowDay)){
mkdir($_SERVER['DOCUMENT_ROOT'].'/uploads/images/'.$nowDay,0777,true);//创建年+月的文件夹权限为最高
}
rename($old_path,$_SERVER['DOCUMENT_ROOT'].$new_path);
return $new_path;
}
public function uploadsiImgMobile($filename)
{
if(strpos($filename,'tmp') !== false){
$path = $_SERVER['DOCUMENT_ROOT'].$filename;
$exp = explode("/",$filename);
$img = $exp[4];
$nowDay = date('Y-m-d');
$new_path = '/uploads/images/'.$nowDay.'/'.$img;
//如果没有文件夹 则自动创建
if(!is_dir($_SERVER['DOCUMENT_ROOT'].'/uploads/images/'.$nowDay)){
mkdir($_SERVER['DOCUMENT_ROOT'].'/uploads/images/'.$nowDay,0777,true);
}
rename($path,$_SERVER['DOCUMENT_ROOT'].$new_path);
}else{
$new_path = $filename;
}
return $new_path;
}
public function uploadsvideo($filename)
{
if(strpos($filename,'tmp') !== false){
$path = $_SERVER['DOCUMENT_ROOT'].$filename;
$exp = explode("/",$filename);
$img = $exp[4];
$nowDay = date('Y-m-d');
$new_path = '/uploads/video/'.$nowDay.'/'.$img;
//如果没有文件夹 则自动创建
if(!is_dir($_SERVER['DOCUMENT_ROOT'].'/uploads/video/'.$nowDay)){
mkdir($_SERVER['DOCUMENT_ROOT'].'/uploads/video/'.$nowDay,0777,true);
}
rename($path,$_SERVER['DOCUMENT_ROOT'].$new_path);
}else{
$new_path = $filename;
}
return $new_path;
}
}
调用:
$Uploads = new UploadsController();
$file_path = $Uploads->uploadsiImgMobile($v['pic_front'][$kn]),
文件操作方法:
$new_purchase_file= str_replace('/tmp/','/files/',$request->purchase_file);
//如果没有文件夹 则自动创建
//$_SERVER['DOCUMENT_ROOT'] 表示从根目录/开始
$nowDay = date('Y-m-d');
if(!is_dir($_SERVER['DOCUMENT_ROOT'].'/uploads/files/'.$nowDay)){
mkdir($_SERVER['DOCUMENT_ROOT'].'/uploads/files/'.$nowDay,0777,true);//创建年+月的文件夹权限为最高
}
copy($_SERVER['DOCUMENT_ROOT'].$request->purchase_file, $_SERVER['DOCUMENT_ROOT'].$new_purchase_file);
unlink($_SERVER['DOCUMENT_ROOT'].$request->purchase_file); //删除tmp目录下的文件
$new_path = '/uploads/images/'.$nowDay.'/'.$newName;
rename($old_path,$_SERVER['DOCUMENT_ROOT'].$new_path);
$new_purchase = str_replace('/tmp/','/images/',$pictures_file);//图片路径