小编Tom*_*Tom的帖子

PHP上传文件验证

我正在创建文件上传脚本,我正在寻找验证上传文件的最佳技术和实践.

允许的扩展名为:

$allowed_extensions = array('gif','jpg','png','swf','doc','docx','pdf','zip','rar','rtf','psd');
Run Code Online (Sandbox Code Playgroud)

这是我正在做的清单.

  1. 检查文件扩展名

    $path_info = pathinfo($filename);
    if( !in_array($path_info['extension'], $allowed_extensions) ) {
        die('File #'.$i.': Incorrent file extension.');
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 检查文件mime类型

    $allowed_mimes = array('image/jpeg','image/png','image/gif','text/richtext','multipart/x-zip','application/x-shockwave-flash','application/msword','application/pdf','application/x-rar-compressed','image/vnd.adobe.photoshop');
    if( !in_array(finfo_file($finfo, $file), $allowed_mimes) ) {
        die('File #'.$i.': Incorrent mime type.');
    } 
    
    Run Code Online (Sandbox Code Playgroud)
  3. 检查文件大小.

我该怎么做才能确保上传的文件是有效的文件?我注意到奇怪的事情.我将.jpg文件扩展名更改为.zip并且...已上传.我认为它的MIME类型不正确但之后我注意到我没有检查特定的类型,但是如果数组中存在特定的MIME类型.我稍后会修复它,这对我来说没有问题(当然,如果你有任何好的解决方案/想法,请不要犹豫,分享它,请).

我知道如何处理图像(尝试调整大小,旋转,裁剪等),但不知道如何验证其他扩展.

现在是我的问题的时候了.

  1. 你知道验证这些文件的好方法吗?也许我应该解压缩.zip/.rar文件的档案,但文档(doc,pdf)呢?
  2. 将旋转,调整.psd文件的工作大小?
  3. 基本上我认为.psd文件有以下mime:application/octet-stream但是什么时候

我试图上传它显示给我的.psd文件(image/vnd.adobe.photoshop).我对此有点困惑.文件是否始终具有相同的MIME类型?

另外,我不能强制代码块工作.有没有人猜到为什么?

php upload file-upload uploading

6
推荐指数
2
解决办法
6503
查看次数

jQuery替换开关

美好的一天.

我正在寻找switchjQuery中的替代品.基本上,我不知道如何更换switch.

我跟随switch了大约70个国家.有没有办法用一个替换它loop

$("#country").change(function () {
  switch ($('#country :selected').val()) {
  case 'pl':
    $("fieldset#state").hide().load('pl.txt').fadeIn(800);
    break;
  }
});
Run Code Online (Sandbox Code Playgroud)

此外,如果已经选择了项目,是否有可能自动实现加载特定文件?

编辑:

我对这个问题的描述不是最好的.对不起.主要问题是:

  • 我只列出了一些国家的名单,而不是所有国家的名单
  • 我正在使用switch国家读取文件,如果没有,我默认插入文本字段
  • 我还需要默认实现加载文件.我的意思是什么?我查询国家的数据库,然后我在国家下拉列表中选择它.如何自动加载文件(如果有的话)?

问候,汤姆

jquery switch-statement

2
推荐指数
1
解决办法
256
查看次数

退出时的Javascript确认框

在用户出口设置确认框时我遇到了奇怪的问题.

这是代码:

    function closeIt() {
    var message = "Click 'Cancel' right now!";

    evt=(typeof evt == 'undefined') ? window.event:evt;
    evt ? evt.returnValue = message:null;
    return message;
    }   
    window.onbeforeunload = closeIt;
Run Code Online (Sandbox Code Playgroud)

我想实现什么功能?当用户单击"取消"时,我想重定向页面.

我有三十多个想法,其中没有一个是有效的.有任何想法吗?

编辑 这是我想要的:用户试图关闭他的浏览器选项卡,我想显示小确认框,如果他点击确定 - >然后关闭选项卡,如果他点击取消 - >不要关闭选项卡并重定向用户以保存页面.

我尝试了数以百万计的方法,遇到了许多问题.

javascript redirect

2
推荐指数
1
解决办法
5789
查看次数