私はたくさん検索していて、この問題に関する多くの質問を見つけましたが、残念ながら答えはどれも役に立ちませんでした.
PNG 画像をアップロードしようとしていますが、次のエラーが表示されます。
アップロードしようとしているファイル形式は許可されていません。
私は自分のコードを構築するためにこの CI ガイドに従っていました: http://codeigniter.com/user_guide/libraries/file_uploading.html
これが私が得たものです:
ファイルを閲覧する:
[..]
<?= form_open_multipart() ?>
<input type="file" name="userfile" size="20" />
<br /><br />
<input type="submit" value="upload" />
<?= form_close() ?>
[..]
私のコントローラー:
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
$xx = array('upload_data' => $this->upload->data());
$mimetype= $xx['upload_data']['file_type'];
var_dump('Mime: ' . $mimetype);
var_dump($_FILES);
if ( !$this->upload->do_upload())
{
Notice::add($this->upload->display_errors(), 'error');
}
else
{
$data['upload_data'] = $this->upload->data();
}
ご覧のとおり、私はvar_dump
MIME タイプを試していますが、結果は空です。
私が行うvar_dump($_FILES)
と、すべてがうまくいくように見えます:
array(1) { ["userfile"]=> array(5) { ["name"]=> string(14) "imageofm.png" ["type"]=> string(9) "image/png" ["tmp_name"]=> string(18) "/var/tmp/php5cDAZJ" ["error"]=> int(0) ["size"]=> int(358) } }
また、'png' => array('image/png', 'image/x-png'),
私のconfig/mimes.php
.
ただし、すべての画像で発生しました(他の拡張機能はまだ試していません)。
私はすべての助けの試みに感謝します。