
正文
thinkphp上传图片命名 tp51上传图片
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
thinkphp3.2.3 多文件上传命名问题
/*
* @$desc 文件名称
* @$img_url 上传之后的文件名称和路径
* @$path 文件路径
* */
function uploaded_file($desc,$img_url,$path){//重名图片
foreach($img_url as $k=$v){
if(rename($v,$path.$desc[$k])==false){
return false;
}
}
return true;
}
$desc=array(0='1.jpg',1='2.jpg');
$img_url=array(0='file/img/_p2014231545.jpg',1='file/img/_p20151231233.jpg');
$path='file/img/';
uploaded_file($desc,$img_url,$path);
写的不是很好,不喜勿喷..
相关问答
Q1: thinkphp里上传的图片如何进行重命名,命名为自己想要的格式,它默认格式是时间戳的
TP文档上说明有这个参数,saveRule保存规则:
在使用的时候如果为空,那么将使用上传时候的名字,如下:
不为空的时候可以选择手册上说的几种命名规则,不同的场景使用不同的方式,只要加个判断就可以了。如果同名需要覆盖原文件的话添加属性:$upload-uploadReplace = true;
Q2: thinkphp怎么对多个上传的文件进行重新命名
$file = $_FILES['img1'];
$filename = $file['name'];
$len = strlen($filename);
$index = strpos($filename,'.');
$ext = substr($filename,$index,$len); //获取文件后缀名
$ext = strtolower($ext);
$newfilename = "a".$ext;
同理第二个也是一样的道理,上传上去会自动覆盖的
Q3: thinkphp中图片上传后图片名总是 随机生成 无法改变其命名规则 想把它改为日期名
如果你用的是tp3.2的Think\Upload,那么先定义一个数组$arr=array('saveName'=date("YmdHis"));然后实例化upload类时传进去,如$upload = new \Think\Upload($arr);
Q4: thinkphp 怎样为每个缩略图命名一个子目录subname
方法:
public function dz_upload() { //上传多张缩略图 上传2张缩略图
if (isset($_FILES['ori_img'])){
$upload = new \Think\UploadFile();// 实例化上传类
$upload-maxSize = 3000000 ;// 设置附件上传大小 C('UPLOAD_SIZE');
//$upload-savePath = './Public/Uploads/' . $path; // 设置附件上传目录
$upload-savePath = './Public/Uploads/' . 'thumb/'; // 设置附件上传目录
$upload-allowExts = array('jpg', 'gif', 'png', 'jpeg'); // 设置附件上传类型
$upload-saveRule = 'time';
Q5: thinkphp5.0.5怎么自定义命名上传文件
ThinkPHP5.0内置了一个文件处理类 \think\File,内置的文件上传操作也是调用了该类进行处理的。
File类继承了PHP的SplFileObject类,因此可以调用SplFileObject类所有的属性和方法。
表单代码:
form action="/index/index/upload" enctype="multipart/form-data" method="post"
input type="file" name="image" / br
input type="submit" value="上传" /
/form
控制器代码:
public function upload(){
// 获取表单上传文件 例如上传了001.jpg
$file = request()-file('image');
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file-move(ROOT_PATH . 'public' . DS . 'uploads');
if($info){
// 成功上传后 获取上传信息
// 输出 jpg
echo $info-getExtension();
// 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
echo $info-getSaveName();
// 输出 42a79759f284b767dfcb2a0197904287.jpg
echo $info-getFilename();
}else{
// 上传失败获取错误信息
echo $file-getError();
}
}
move方法成功的话返回的是一个SplFileInfo对象,你可以对上传后的文件进行后续操作,比如改名。
关于thinkphp上传图片命名和tp51上传图片的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






