0

ファイル入力からファイルをアップロードします。print_r($_FILES) を実行すると、いくつかの情報を取得できますが、ファイルの完全なローカル パス (サーバーではなくコンピューター上のパス) はわかりません。どうすればこれを入手できますか?

CodeIgniter で FTP ライブラリを使用するには、これが必要です。それを使用してファイルをアップロードする方法に関するドキュメントはこちらです。

ご覧のとおり、理由はわかりませんが、完全なローカル パスが必要です。

4

2 に答える 2

0

私はこれを解決しました。

public function upload($file, $folder) {
  $this->CI->ftp->upload($_FILES['file']['tmp_name'], '/public_html/rest/of/path/' . $_FILES['file']['name'], 'ascii', 0775);
 }  

ファイルがアップロードされているので、 でアクセスできます$FILES['file']['tmp_name']。これはクラス内からのものであるため、 を使用して$this->CIいます。それ以外の場合は、を使用します$this

于 2012-06-27T23:11:21.933 に答える
0

ファイルアップロードパスはサーバーごとに変化する変数であるため、次のmove_uploaded_file()関数を使用することをお勧めします。

$target = "uploads/myfile.something";
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target)) {
    // do something
}

そうすれば、パスが変更されても、パスが何であっても常に機能します。これtargetは、スクリプトが実行されている現在のフォルダーに相対的です。

于 2012-06-26T22:36:12.167 に答える