2012-02-28 9 views
2

私の問題は、データベースと.pngファイルを.jpgのようなファイル以外の.pngファイルに保存することができない理由です。私は正常にデータベースに挿入してフォルダをアップロードするため、$config['allowed_types'] = 'png'を追加しました。ここで私はvar_dumpをエラーメッセージ "アップロードしようとしているファイルタイプは許可されていません"です。 、どのように私の問題を解決するためのアイデア?ここCodeIgniterアップロードのPNGイメージタイプが機能していませんか?

は私のコードです:

$upload_file_name = ''; 

$config['upload_path'] = '/var/www/html/uploads/'; 
$config['allowed_types'] = 'jpg|gif|png'; 
$config['max_size'] = 100000; 
$config['overwrite'] = TRUE; 
$this->load->library('upload', $config); 
if(!$this->upload->do_upload('receipt_attachment')) 
{ 
    $error = array('error' => $this->upload->display_errors()); 
    $errormessage = $this->upload->display_errors(); 
    $this->session->set_flashdata('error', $errormessage); 
    redirect('home/add_product'); 
}else{ 
    $upload_data = $this->upload->data(); 
    $upload_file_name = $upload_data['file_name']; 
} 

おかげ

+0

あなたのファイル拡張子が大文字のPNGである可能性があります。これは時々問題を引き起こす可能性があります...! –

答えて

1

は無効なMIMEタイプについて、このスレッドを見て撮影したことがありますか? http://codeigniter.com/forums/viewthread/204725/


は、基本的にそれはあなたがトラブルのいくつかのpng MIMEタイプを解釈を持っている古い未パッチを当てたバージョンを持っている(CIのバージョンによって)かもしれません。

これらのソリューションをお読みになり、最新のCIコードに更新してください。

+0

jakubに感謝します。CIを更新しました。私の古いCIバージョンのために問題が本当になぜpngファイルがアップロードできないのですか。 – Oscar

+0

あなたのCIコードベースを常に更新することを覚えておいてください。 '/ application'ディレクトリ(あなたのコードを持っている場所)は決して更新する必要はありません。通常は'/system'フォルダです – Jakub

0

あなたの投稿の日付に基づいて、CodeIgniter 2.1.0を実行したと仮定します。

CI 2.1.0のアップロードクラスには、以前のバージョンでも未来でもないPNG(システムライブラリのアップロードの1058行目)に関する文書化された問題があります。

ベストウェイ: 2.1.2にアップデートするか、少なくとも2.1.2のsystem/libraries/Upload.phpファイルを使用してください。

関連する問題