[PHP-users 5876] Re: PHPでのFTP 転送。
Endou
php-users@php.gr.jp
Tue, 5 Mar 2002 09:30:57 +0900
遠藤です。
参考にさせていただきました。
早速、試してみたいと思います。
ありがとうございました。
> 針川@茅ヶ崎です。
> いつも参考にさせていただいてます。
>
> > PHPのFTP関数を使用してサーバにFTPできるようにプログラムを作成していま
が、
> > ファイルをアップロードするときに
> > 「error opening 指定したファイルパス」
> > というエラーが表示されてしまって、アップロードができません。
>
> snip
>
> > // ファイルをアップロードする
> > $destination_file = "test.gif";
> > $upload = ftp_put($conn_id, "$destination_file", "$gazou",
> > FTP_BINARY);
> > if ( ! $upload ){
> > file://#######ここでエラーが発生#################
> > $ERROR = "転送に失敗しました。\n";
> > }
> > }
>
> PHP の FTP 転送は PASSIVE モードでないと使えません。
> (コマンドはうまくいっても put, get, nlist で失敗します)
> あと、PASSIVE でも権限とポートの関係で失敗することがあるようです。
> 私の場合は一部、フィルタに引っかかってうまくいかず、フィルタの変更はし
> たくないので、この部分だけ popen で直接 ftp を呼んでます。
> ただ、以下のコードは FreeBSD4.4 付属の ftp ですから、他のではうまくい
> かないかもしれません。
>
> $cmd =
>
"ftp://".$ftp_user_name.":".$ftp_user_pass."@".$ftp_server."/".$ftp_dir."/";
> $pp = popen( $cmd, "w" );
> if( $pp )
> {
> $cmd = 'put '.$gazou.' '.$destination_file."\n";
> fputs( $pp, $cmd );
> fputs( $pp, "quit\n" );
> pclose( $pp );
> }
> else $this->res = $php_errormsg.':送信に失敗しました';
>
> だめだったらごめんなさい。
>
> ((((((((( Soft-inn 針川英智 )))))))))
> )))) http://www.softinn.to/
(
> ((( harikawa@softinn.to )))
> )))) Tel:0467-59-1003 Fax:1002 ((((
> ((((_______ 茅ヶ崎市共恵1-15-1 ______))))
>
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
>