首页 > 解决方案 > 用于图像和文件的文件输入

问题描述

需要帮助头脑风暴。我有一个网页,我在其中将文件提交到服务器上的文件夹。一切正常,但我不认为从手机拍摄的图像比屏幕截图或其他文件大得多。我找到了这篇文章,我可以在其中使用画布调整图像大小,并将其发送到服务器。这行得通。但是在某些情况下,人们可能会同时提交图像和文件,例如 pdf 或 docx。我目前发现输入 type="file" 中的所有图像调整它们的大小并将它们发送出去,所以所有非图像都没有被提交。

我已经尝试在不提交图像两次的情况下使用谷歌搜索如何执行此操作,因为文件列表仍然包含未更改的图像 + 文件。我想过制作两个单独的输入类型文件,一个用于图像,一个用于文件,但这对于使用它的人来说可能有点太多了。我只是想知道我怎么能做到这一点?任何想法或想法都会有所帮助。

标签: javascripthtml

解决方案


您可以先检查文件扩展名

$isImage = array('gif', 'png', 'jpg', 'jpeg');
$filename = $_FILES['file']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if (in_array($ext, $isImage)) {
    echo 'file is image';
        // resize code
}else {
    echo 'file is not an image';
}

推荐阅读