小编Cra*_*ker的帖子

从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万
查看次数

AJAX提交和500服务器错误

尝试运行我的AJAX时出现500服务器错误.我是AJAX的新手.如果我在脚本中没有运行AJAX,那么每个东西都在代码中运行,例如只运行:

$("#book-appointment-form").submit();

因此,似乎所有数据库功能都很好.但是,我需要AJAX在Wordpress页面中运行我的代码.

我没有在错误日志中看到任何注释.控制台日志显示该URL指向正确的位置.我可能缺少什么?

控制台日志显示hiddenData中显示的隐藏输入中的数据:

0: Object
name: "csrfToken"
value: "0f4343dfd0e71a8fa515d08f340f7bc9"
__proto__: Object
1: Object
name: "post_data"
value: "{"customer":{"last_name":"Test","first_name":"Joe","email":"email4me@verizon.net","phone_number":"9093334444","address":"","city":"","zip_code":"","id_cellcarrier":"2","wp_id":"1"},"appointment":{"start_datetime":"2015-12-25 11:00:00","end_datetime":"2015-12-25 11:50:00","notes":"","is_unavailable":false,"id_users_provider":"85","id_services":"13"},"manage_mode":false}"
__proto__: Object
length: 2
__proto__: Array[0]
Run Code Online (Sandbox Code Playgroud)

视图:

<html>

                    <form id="book-appointment-form" style="display:inline-block" method="post">
                        <button id="book-appointment-submit" type="button">Confirm</button>
                        <input type="hidden" name="csrfToken" />
                        <input type="hidden" name="post_data" />
                    </form>
</html>
Run Code Online (Sandbox Code Playgroud)

JS

<script>
                $("#book-appointment-form").submit(function(event){
                    var confirmedData = $(this).serializeArray();
                    var dataUrl = GlobalVariables.baseUrl + '/index.php/appointments/ajax_confirm_appointment'; 
                    $.post(dataUrl, confirmedData, function(response) {
                    ////////////////////////////////////////////////////////////
                    console.log('Customer Confirmed Post Response:', response);
                    ////////////////////////////////////////////////////////////
                    }, 'json');
                    event.preventDefault();
                });
                $("#book-appointment-form").submit();
</script>
Run Code Online (Sandbox Code Playgroud)

PHP控制器

<?php
public function …
Run Code Online (Sandbox Code Playgroud)

javascript php ajax wordpress jquery

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

标签 统计

php ×2

ajax ×1

javascript ×1

jquery ×1

mime-types ×1

wordpress ×1