相关疑难解决方法(0)

使用<input type ="file">时限制文件格式?

当用户单击<input type="file">HTML 中元素中的"浏览"按钮时,我想限制可从本机OS文件选择器中选择的文件类型.我有一种感觉,这是不可能的,但我想知道是否有一个解决方案.我想完全依赖于HTML和JavaScript; 请不要闪光.

html types file

595
推荐指数
10
解决办法
47万
查看次数

如何检查上传的文件类型是pdf

可能重复:
如何在PHP中检查上传文件的文件类型?

我在我的网站上传了功能,只允许pdf上传.如何检查上传的文件是否只是pdf.只是喜欢ckeck getimagesize()图像文件.有没有办法检查文件肯定是PDF格式.我的代码如下所示.

$whitelist = array(".pdf");

foreach ($whitelist as $item) {

    if (preg_match("/$item\$/i", $_FILES['uploadfile']['name'])) {

    }
    else {

        redirect_to("index.php");
    }
}

$uploaddir='uploads/';

$uploadfile = mysql_prep($uploaddir . basename($_FILES['uploadfile']['name']));

if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile)) {

    echo "succussfully uploaded";
}
Run Code Online (Sandbox Code Playgroud)

在这redirect_to,mysql_prep并由我定义的功能.但是mime类型可以使用headers更改.所以有什么方法可以检查文件是orignal pdf吗?

html php pdf

11
推荐指数
3
解决办法
4万
查看次数

如何读取PHP上传文件的标题?

我们可以在PHP中读取文件的头信息来确定上传的文件类型吗?

我不想依赖$_FILES['control_name_from_client']['type'].我们知道这个属性通过读取上传文件的扩展名来确定文件类型.

如果什么用户重命名,比如test.jpg放在 - > TEST.XLS.在这种情况下,$_FILES['control_name_from_client']['type']将显示类型为application/vnd.ms-excel而不是image/jpeg.如果必须执行代码来读取XLS文件以获取某些处理的数据,这很自然会产生问题.

有什么建议吗?

php file-upload header

5
推荐指数
1
解决办法
9765
查看次数

MIME 类型检查对文件上传没用?(特别是使用 Javascript File API)?

我有一个服务器脚本从 Javascript 接收上传的文件。

客户端,使用File对象(来自W3C File API)和类似于此行的代码:

if (file.type.indexOf("text") == 0) { ... }
Run Code Online (Sandbox Code Playgroud)

可以检查文件类型。显然,这使用了MIME 类型(返回这些字符串)。

在我通过 SO 的旅程中,我冒险遇到了这个有价值的贡献者,他坚持认为 MIME 类型是无用的。

MIME 类型在文件上传情况下是否确实基本上没有用,因此应该在服务器端进行任何类型检查?

javascript php upload mime file

5
推荐指数
2
解决办法
3252
查看次数

如何在Angular JS中检查上传文件的类型?

我在Angular JS中使用库Angular File Uploader。这filters就是允许将文件类型设置为上载的方式。我这样做像:

uploader.filters.push({
    name: 'imageFilter',
    fn: function (item /*{File|FileLikeObject}*/, options) {
    var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
         return '|doc|txt|docx|xml|pdf|djvu'.indexOf(type) !== -1;
   }
});
Run Code Online (Sandbox Code Playgroud)

问题是用户可以更改扩展文件,例如,更改*.exe*.pdfAngular Uploader并将其添加到队列上传之后。

以及如何在模板中显示信息,PDF和txt文件在哪里?

javascript angularjs

5
推荐指数
1
解决办法
1441
查看次数

为什么这个简单的PHP preg_match()函数不起作用?

尽管未显示的$ _FILES数组,这是用于文件上传,我曾与文件上传的问题,所以我没能获得$ _FILES数组的[类型]的部分呢......但是这仅仅是一个简单的为什么这个功能不起作用的问题......

   <?php

    function getExtension() {
        // global $testFile;
        $extension = "./mp3/"; // also tried simply mp3 without the forwards slashes
        $testFile = "song.mp3";
        if(preg_match($extension, $testFile)) {
        echo "match found";
        }else {
        echo "no match found";
        }

    }
    getExtension();

    ?>
Run Code Online (Sandbox Code Playgroud)

php

0
推荐指数
1
解决办法
1535
查看次数

标签 统计

php ×4

file ×2

html ×2

javascript ×2

angularjs ×1

file-upload ×1

header ×1

mime ×1

pdf ×1

types ×1

upload ×1