相关疑难解决方法(0)

从php中的文件名获取mime类型

我有以下函数从文件名生成mime类型:

    function get_mime_type($file) {
      if (function_exists('finfo_open')) {
        $finfo = finfo_open(FILEINFO_MIME_TYPE);
        $mimetype = finfo_file($finfo, $file);
        finfo_close($finfo);
      }
      else {
        $mimetype = mime_content_type($file);
      }
      if (empty($mimetype)) $mimetype = 'application/octet-stream';
      return $mimetype;
    }
Run Code Online (Sandbox Code Playgroud)

我在我的代码的这一部分调用了这个函数:

        $out['uploads'][] = array(
          'filename' => $fldrow['field_value'],
          'mimetype' => get_mime_type($fldrow['field_value']),
          'id'       => $fldrow['ID'],
        );
Run Code Online (Sandbox Code Playgroud)

$fldrow['field_value'] 包含 'card.pdf'

我期待着 'application/pdf'

我正进入(状态 'application/octet-stream'

我还尝试使用Mode = 1更精细的方法: PHP Mime类型检查替代方法吗?

模式= 1时结果相同,模式= 0时结果为空.

我可能在这里做错了什么?

编辑我的解决方案基于Dymen1的响应,并在查看该方向的其他帖子后如下:

function get_mime_type($filename) {
    $idx = explode( '.', $filename );
    $count_explode = count($idx);
    $idx = strtolower($idx[$count_explode-1]);

    $mimet = array( 
        'txt' …
Run Code Online (Sandbox Code Playgroud)

php mime-types

26
推荐指数
1
解决办法
4万
查看次数

为什么PHP中不推荐使用mime_content_type()?

我只是想知道为什么现在认为mime_content_type()被弃用了.

这种用于确定mime类型的方法比替换Fileinfo功能容易得多.

php deprecated mime-types

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

PHP强制下载和刷新解决方案无效

最终目标:单击第1页上的链接,最后下载文件并刷新页面1.使用PHP提供不在公共HTML中的下载.

做法:

第1页. 链接传输到第2页,获取我正在使用的文件的get变量引用.

第2页. 使用在刷新页面1之前需要更新的信息更新相关的SQL数据库.设置"firstpass"会话变量.从get变量设置会话变量"getvariablereference".重定向到第1页.

第1页. 如果首先传递会话变量集.设置第二次传递会话变量.取消设置第一个传递变量.刷新页面.在重新加载时,页面将使用更新的SQL数据库信息进行重建(在第2页上更改).

刷新页面1. 如果第二次传递会话变量设置.运行下载服务标头序列.

这是第1页.我没有显示第1页中具有初始链接的部分.既然没关系.

// REFERSH IF FIRSTPASS IS LIVE
if ($_SESSION["PASS1"] == "YES"){
    $_SESSION["PASS1"] = "no";
    $_SESSION["PASS2"] = "YES";
    echo "<script>document.location.reload();</script>";
    }
if ($_SESSION["PASS2"] == "YES"){
    // Grab reference data from session:
        $id = $_SESSION['passreference'];
                // Serve the file download
                        //First find the file location
                        $query = "SELECT * from rightplace
                              WHERE id = '$id'";
                        $result = mysql_query($query);
                        $row = mysql_fetch_array($result);
                        $filename = $row['file'];
                        $uploader = $row['uploader'];   
                            // Setting up download variables …
Run Code Online (Sandbox Code Playgroud)

javascript php session refresh download

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

php文件类型为pdf,mp3

我有一个代码部分,检查是否:

($_FILES["fileToUpload"]["type"] == "image/gif" || $_FILES["fileToUpload"]["type"] == "image/jpeg" || $_FILES["fileToUpload"]["type"] == "image/png")

有什么可以替代'image/gif'它来过滤pdf和mp3?

php file-upload

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

PHP文件类型检查

一些奇怪的情况,当我尝试一个简单的PHP代码来检查文件类型,它无法通过.以下代码中的任何错误?提前致谢.

if(($_FILES["file"]["type"]!="image/jpeg")||
            ($_FILES["file"]["type"]!="image/gif")||
            ($_FILES["file"]["type"]!="image/png")){
            echo "File must be in format of jpeg,gif or png.";
        }
Run Code Online (Sandbox Code Playgroud)

php

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