[PHP-users 30788] Re: html でinput type="file"でカレントパスの取得できない

Masaaki Suga suga @ tenrikyo.or.jp
2006年 11月 25日 (土) 09:12:20 JST


須賀です

いろいろな方々から返信いただいてありがとうございます

鈴木孝征 <takamasa @ thaliana.myhome.cx> wrote:

> 基本的にクライアントの情報はとれないと思ったほうがいいでしょう。ローカル
> ファイルのパスの情報なんかを勝手に送信するブラウザーって信用できます?
> 
> クライアントが送信したファイルのクライアントでのパスを取得してその後どう
> いった処理がしたいのかを示されると、代わりの方法なんかが提案されるかもし
> れません。
> 
> もしかして自分のローカルファイルのパスを入力するのにフォルダをたどってい
> く方法が便利だからfileタグを使用しようとしています?Javascriptなんかを
> 使ってfileタグに入力された値を別のタグ(hiddenとか)に入れるというのではど
> うでしょうか。
このやり方でいけましたが,

そもそも,私のやりたいことは,phpでクライアントPCのファイルを
サーバーへftpしたいのです
upfileがinput type="file"の項目でupfile2がjavascriptでコピーした項目です

$file = $_POST['upfile2'];
$remote_file = 'opacsv_file';
$conn_id = ftp_connect("xxx.xxx.xxx.xxx");
$login_result = ftp_login($conn_id, "xxxx", "xxxx");
if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY )) {
 echo "successfully uploaded $file\n";
} else {
 echo "There was a problem while uploading $file\n";
}
ftp_close($conn_id);

基本的なことですが,phpのftpでは,あくまでサーバー上のファイルを別のサーバーへ
転送することしかできないのでしょうか?
(クライアントのファイルは扱えない)

としたら,今回の質問は,なかったことにしてください (^_^メ)

httpのPostによるuploadは,インターネットの公開サーバーなので
セキュリティー上したくないのです

phpで,クライアントのファイルをサーバーへuploadするには
一般的にどうすればいいのでしょうか?

それとも,httpのPostによるuploadしかできないのでしょうか?

よろしくお願いします

--------------------------------------
  須賀 正明  suga @ tenrikyo.or.jp
--------------------------------------








PHP-users メーリングリストの案内