精华内容
下载资源
问答
  • html代码 创建文件 index.html php代码 创建文件 file.php 最终效果: 上传图片 可以看到文件已经按指定的方式生成路径和名称 同样的图片,无论传多少次,最终都指向并覆盖同一个文件

    html代码

    创建文件 index.html

    <body>
      <form action="file.php" method="POST" enctype="multipart/form-data">
        <input type="file" id="file" name="file">
        <input type="submit">
      </form>
    </body>
    

    php代码

    创建文件 file.php

    <?php
    // 获取文件临时路径
    $tmp_file = $_FILES['file']['tmp_name'];
    // 获取文件md5值
    $md5 = md5_file($tmp_file);
    // 获取文件后缀
    $file_ext = explode(".", trim(strtolower($_FILES['file']['name'])));
    $file_ext = array_pop($file_ext);
    // 生成文件保存目录(取md5值0-2位)
    $dir  = "uploads/" . substr(ltrim($md5), 0, 2) . '/';
    if (!file_exists($dir)) {
        mkdir($dir, 0755, true);
    }
    // 生成文件名称 (取md5值的第3位到结束)
    $save_name = substr($md5, 2) . '.' . $file_ext;
    $save_path = $dir . $save_name;
    
    // 上传文件到刚刚生成的目录
    if (move_uploaded_file($tmp_file, $save_path)) {
        echo '上传成功! 路径:' . $save_path;
    } else {
        echo '上传失败';
    }
    die;
    ?>
    

    最终效果:
    上传图片
    在这里插入图片描述

    文件md5长度是32位,其中目录占2位,名称占30位
    通过md5识别图片,同样图片,无论上传多少次,最终只保存一个
    在这里插入图片描述

    展开全文
  • 在项目开发中如果要创建的文件名或者文件夹名不确定,就需要随机生成一个文件名或者文件夹名
  • FCKEditor 是一款非常优秀的 HTML 在线文本编辑器,功能完善,支持多种浏览器,支持多种开发语言,...功能需求:上传图片时,按日期生成文件名,并给图片生成缩略图、添加水印。 下面请看具体效果: 1、界面图 ...

    FCKEditor 是一款非常优秀的 HTML 在线文本编辑器,功能完善,支持多种浏览器,支持多种开发语言,开放的功能接口,是目前网络上最流行的编辑器之一,被很多网站采用。下面是我 FCKEditor 扩展功能的过程。

    适用版本:FCKEditor 2.63

    使用语言:C#

    功能需求:上传图片时,按日期生成文件名,并给图片生成缩略图、添加水印。

    下面请看具体效果:

    1、界面图

    1_200811041114311THPr.jpg

    2、水印图

    watermark.png

    制作过程可参考丫丫写的博客:如何用PS给图片添加水印

    3、最后的效果

    221725924.jpg

    221725924.jpg

    图片地址:http://www.yldt.com/UploadImage/200811/1/221725924.jpg

    200811/1/221725924.jpg 表示:2008年11月,1日,22点17分+1~99999随机数

    1、首先修改 HTML 文件FCKeditor\editor\dialog\fck_image.html,给表单添加相关的html控件,这样,上传图片时,可选择是否添加水印与水印的放置位置。

    2、从这里开始,就要修改FredCK.FCKeditorV2.vs2005这个项目的源代码了,这是FCKEditor专门支持 .NET 而提供的开源项目,使用 GPL 协议发布。

    (1)、修改FCKeditor.Net_2.6.3\FileBrowser\FileWorkerBase.cs,这个类的作用是支持文件的浏览和上传。可在此获得 System.Web.HttpRequest 对象,其中就有用户Post 过来的数据,然后根据需要使用,比如自定义文件名,对图片进一步处理等。

    (2)、添加FCKeditor.Net_2.6.3\ImageProcess.cs,这个类是我自己根据需求新增的,作用是对上传的图片进一步处理。里面有两个重要的方法,分别是:

    方法一:给图片增加水印,使用的是 .NET 下的图片处理功能。

    /// <summary>
    /// 给图片增加水印。
    /// </summary>
    /// <param name="stream">上传的图片流</param>
    /// <param name="path">保存到的路径</param>
    /// <param name="waterMarkUrl">水印地址</param>
    /// <param name="corner">水印角落,如:左上角</param>
    public static void AddWatermarkToImg(System.IO.Stream stream, string path, string waterMarkUrl, string corner)

    方法二:该方法可以生成各种大小图片的缩略图功能,以方便在需要不同大小的页面调用。

    /// <summary>
    /// 生成等比缩略图
    /// </summary>
    /// <param name="largeImagePhysicsPath">要生成缩略图图片的物理路径,如E:\UploadImage\200811\1\221725924.jpg</param>
    /// <param name="thumbnailImagePhysicsPath">生成缩略图的物理路径,如E:\SmallImage\200811\1\221725924.jpg</param>
    /// <param name="fileName">原图的文件名 221725924.jpg</param>
    /// <param name="smallFileName">缩略图文件名 221725924.jpg</param>
    /// <param name="width">缩略图宽</param>
    /// <param name="height">缩略图高</param>
    /// <returns></returns>
    public static void ThumbnailImage(string largeImagePhysicsPath, string thumbnailImagePhysicsPath, string fileName, string smallFileName, int width, int height)

    由于各种原因代码我就不贴了,请见谅。

    还有一点就是,用 IE 上传文件后无法返回,显示“没有权限”,实际上文件已经上传成功,用 FF 是可以顺利返回。估计是 IE对 javascript 脚本的document.domain 处理比较严格吧。

    解决方法:修改FCKeditor.Net_2.6.3\FileBrowser\FileWorkerBase.cs,注释以下一行即可。

    Response.Write( @"(function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();" );

    结束语:经过一个多月的使用,根据用户反馈,该功能效果良好,有这个需求的朋友们不妨一试。:)

    转载于:https://www.cnblogs.com/activities/archive/2011/09/05/2167491.html

    展开全文
  • 图片文件名生成

    2019-08-28 14:05:03
    由于多图片上传如果用时间戳进行命名文件名,在不添加其他内容的情况下极大可能出现文件名相同的可能,所以找了很多方法进行文件名的命名;最终找到了它:md5(uniqid(rand())); 屡试不爽的 ...

    由于多图片上传如果用时间戳进行命名文件名,在不添加其他内容的情况下极大可能出现文件名相同的可能,所以找了很多方法进行文件名的命名;最终找到了它:md5(uniqid(rand()));
    屡试不爽的

    展开全文
  • import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;...
  • 本程序来自于 编 程 中 国: http://www.bccn.net
  • JAVA生成随机文件名

    千次阅读 2019-12-05 14:30:31
    //生成随机文件名,防止上传文件后文件名重复 public String generateRandomFilename(){ String RandomFilename = ""; Random rand = new Random();//生成随机数 int random = rand.nextInt(); Calendar ...
    //生成随机文件名,防止上传文件后文件名重复
    public String generateRandomFilename(){ 
        String RandomFilename = ""; 
        Random rand = new Random();//生成随机数 
        int random = rand.nextInt(); 
    
        Calendar calCurrent = Calendar.getInstance(); 
        int intDay = calCurrent.get(Calendar.DATE); 
        int intMonth = calCurrent.get(Calendar.MONTH) + 1; 
        int intYear = calCurrent.get(Calendar.YEAR); 
        String now = String.valueOf(intYear) + "_" + String.valueOf(intMonth) + "_" + 
        String.valueOf(intDay) + "_"; 
    
        RandomFilename = now + String.valueOf(random > 0 ? random : ( -1) * random); 
        
        return RandomFilename; 
    }

     

    展开全文
  • 生成随机文件名JS

    2019-09-30 20:33:25
    export default function (length) { const data = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P",...
  • 由于上传图片都是本地的,所以需要转换成唯一的文件名,并保存到服务器上。 实现代码如下(代码来自慕课) public class UploadUtils { /** * 生成唯一的文件名: */ public static String getUUIDFileName...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,219
精华内容 15,687
关键字:

上传图片生成文件名