codeIgniter -Как получить доступ к текстовому файлу из модели - PullRequest
0 голосов
/ 25 марта 2012

Я пытаюсь получить доступ к файлу mime.types из модели в codeIgniter.

function get_mime_type($filename, $mimePath = '../../assets'){ 
        $fileext = substr(strrchr($filename, '.'), 1); 
        if (empty($fileext)) return (false); 
        $regex = "/^([\w\+\-\.\/]+)\s+(\w+\s)*($fileext\s)/i"; 
        $lines = file("$mimePath/mime.types"); 
        foreach($lines as $line){ 
            if (substr($line, 0, 1) == '#') continue; // skip comments 
            $line = rtrim($line) . " "; 
            if (!preg_match($regex, $line, $matches)) continue; // no match to the extension 
                return ($matches[1]); 
        } 
        return (false); // no match at all 
    } 

Я уже пробовал следующее при вызове:

$this->get_mime_type($filename, $mimePath = '../../assets');

$this->get_mime_type($filename, $mimePath = '/zenoir/assets');

$this->get_mime_type($filename, $mimePath = 'http://localhost:8080/zenoir/assets/mime.types');

Но не повезло.Файл mime.types находится в папке активов, а модель - inzenoir / application / models enter image description here

Ошибка:

Обнаружена ошибка PHP

Серьезность: Предупреждение

Сообщение: файл (../../ assets / mime.types) [function.file]: не удалось открыть поток: нет такого файла или каталога

Имя файла: models /files.php

Номер строки: 46

1 Ответ

1 голос
/ 25 марта 2012

Почему у вас так много проблем с типами MIME, вместо этого используйте mime_content_type () .

echo mime_content_type($mimePath.$filename);

И проблема с вашим кодом - проблема с путями.Вместо этого используйте BASEPATH константу и ходите оттуда.Вы пропустите все эти проблемы с путями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...