2011-11-10 15 views
0

私が開発しているアプリでは、ユーザーからPDFを取り込み、それを修正して他のユーザーが使用するために戻しておく必要があります。Codeigniter:ファイルのアップロード

目次の目次に目を通したところで、設定ファイルのパスに記載されているファイルアップロードディレクトリにftp chmod 777を有効にする必要があります。

残念なことに、でホスティングしていると同社でチェックして、私は私たちのftpから抜け出すことができますほとんどが755

質問1)

ファイルのアップロードを行うにはCodeIgniterの中の別の選択肢がありますされていますchmod 755だけ必要ですか?

また、私は代わりにデータベースにアップロードすることを検討しました。次のように私は見つけることができる最も近い関連する質問があった。

codeigniter image uploading mysql

私は(例えば、以下のような)一般的には、PHPのためのデータベースに任意のファイルをアップロードする方法を詳細記事を見つけましたが、もののどれもI CodeIgniterの統合に特有のものであることが判明しました。

記事:http://www.phpriot.com/articles/storing-images-in-mysql

質問2)

誰がデータベースにファイルをアップロードするためのCodeIgniter固有のものの任意のチュートリアルを知っていますか?これは、ファイルシステムを使用する唯一の代替手段だと私には思われます。あなたがそれ以外は755

以外の何かにCMODことができない場合は、あなたのホストを変更する必要があるよう

+0

MMMmmm。 codeigniterのチュートリアルを試してみました。 755は、ファイルシステムベースのソリューションを使用してアップロードするのに十分な許可です。私はまだデータベース型のソリューションがあるかどうかを知りたいです。また、なぜ777が推奨されているアクセス権の設定になっていますか? – Zigu

答えて

5

が鳴り、CodeIgniterの中のファイルをアップロードすると、ファイルアップロードクラスで行う必要はありません。独自の方法を自由に使用できます。

コントローラメソッド

public function save_file() 
{ 

    $file_data = file_get_contents($_FILES['user_file']['tmp_name']); 
    $file_name = $_FILES['user_file']['name']; 

    $this->database_file_model->insert($file_data, $file_name); 
    redirect('file/uploaded'); 

} 

データベースファイルモデル法

public function insert($data, $name) 
{ 
    $data['filedata'] = $data; 
    $data['filename'] = $name; 
    $this->db->insert('mytable', $data); 

    // Produces: INSERT INTO mytable (filedata, filename) VALUES (blob, 'Filename') 
} 

ありこれらの例の検証はありませんが、あなたの基本的なアイデアを与える必要があります。

関連する問題