• 締切済み

クライアント(WINDOWS)のファイルを読取

WEBサーバー(Apache、OSはLinux)にPHPプログラムが稼動中。 このプログラムをアクセスするクライアント(Windows XP) のC:\CSV\test.csvファイルを読取る方法教えて頂けますでしょうか? 宜しくお願いします。

  • PHP
  • 回答数3
  • ありがとう数1

みんなの回答

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.3

社内システムと言うことなので、 サーバーを信頼済みサイトに登録してさらに、信頼済みサイトのセキュリティ設定で「スクリプトを実行しても安全だとマークされていないActiveXの初期化とスクリプトの実行」を有効にすると、HTMLに組み込んだJScript(あるいはVBScript)でWSHという機能でファイルアクセスが出来るようになります。 誰かがそのサーバーに悪意をもってファイルをおくと、それにアクセスしたクライアントは何でもされ放題ですが。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

絶対に不可能かといえばそうでもないでしょうけど ユーザーの承諾をなしに読み取ろうと思っているのであれば それは悪質なクラッカーとみなされますので場合によっては 逮捕される可能性もあることを念頭においてください。 ユーザーがおくってもいいと理解しているのであれば、 <input type="file">で送ってもらうのが妥当です。 ただセキュリティがきびしいので、初期値の設定もできませんので ユーザーが自らそのファイルを選ばなくてはならないのであまり 現実的ではないかもしれません。 あとはまっとうにやるならftpをつかってputさせるとか 手がないことはないでしょう。 wshでftpコマンドをバックグラウンドで走らせるようなことは できるのでうまくやれば実現可能かもしれません。 (ユーザーが自ら率先しておくる意思があることが大前提であることに 変わりありませんが・・・)

iandyouand
質問者

お礼

ご回答ありがとう御座いました。 どちらも社内システムなので、セキュリティ上問題になりません。 あと<input type="file">だと、毎回選択することになるですが、 一回送ってもらって、ファイル名をサーバーに保存して、次回その ファイルを開くことはできますでしょうか?

回答No.1

不可能です。 つーかPHPにクライアントのファイルなんかアクセスされてたまるかい。それはウィルスのやること。

iandyouand
質問者

補足

早速ご回答頂きありがとう御座いました。 実は、クライアントでのプログラム(VB)がデータを CSVファイルに落とすだけで、それをPHP(Linux)で読み取りたい と思いました。やはりムリでしょうかな。 SOCKETならできるでしょうか?

関連するQ&A

  • クライアントのcsvファイルの読込について

    いつもお世話になっております。 Q1)クライアントPC内のCSV(c:\folder\file.csv)を読込みたいのですが、一度サーバーにアップロードさせないと駄目なのでしょうか? 尚、クライアントは複数の拠点にあります。 -------------------------------------------------- 現在、PHPが稼動しているサーバー上のCSV(c:\folder\file.csv)は、 下記のような記述で処理できるのですが、 $csv_f = "c:\folder\file.csv"; // CSVファイル&パス $fp = fopen($csv_f, "r"); // CSVファイル:OPEN while ($data = fgetcsv($fp)) . . クライアントPC内のCSV(c:\folder\file.csv)を読込む方法をご存知の方いらしたらご教授下さい。 <理想形はこうです> 1.クライアントPC内のCSV(c:\folder\file.csv)を読込んで処理。 2.処理後、c:\folder\file.csvは、c:\folder\file_old.csvという   名前にリネームする。 ----------------------------------------- 以上、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ASP.NET クライアント→サーバーに移動させる

    お世話になります。 クライアントPCでASP.NETの開発環境をインストールして簡単なテストプログラムを作成しました。 Webサーバーではないのですが、IIS7.0がインストールされていて、簡単なPHPプログラムが動く環境の Windows Server 2008 R2 の inetpub\wwwroot\test のフォルダを作成して(IISは 192.168.0.10とします、IIS関連のプログラムはASP.NETも含め全部インストール済です) 作成した test.aspxファイル、test.vbファイルを入れて ttp://192.168.0.10/test/test.aspx を叩くと 401 - 権限がありません: 資格情報が無効であるため、アクセスが拒否されました。 指定した資格情報を使用して、このディレクトリまたはページを表示するアクセス許可がありません。 とエラーが表示されてしまいます。 PHPの時はクライアントで作成したファイルを同じような形でサーバーのIISフォルダにサブフォルダを作成してファイルを張り付け、クライアントからIEで問題なく稼働してたのに・・・ もしかして、上記2つのファイルでは少ないとか、何か許可を出させる命令を実行するとか、 わたくしが見落としている点などありましたら、何卒ご指摘いただけますようお願いいたします。 開発には Microsoft Visual Web Developer 2010 Express を使用しております。 この環境でサーバーに直接アップロードしてデバックなど実行できるようにできるなど、 そういうご回答でもまったく問題ございませんので、何卒ご教授いただければと存じます。 よろしくお願いいたします。

  • サーバ⇒クライアントへPingが通らない

    【環境】 クライアントOS:WINDOWS XP サーバOS:CentOs5.5 (クライアントPCにて、Virtual Box上でCentOs5.5を稼動させています) 【内容】 サーバ⇒クライアントへPingを通すことができない状態です。 (クライアント⇒サーバに対しては、Pingはとおります。) クライアントOS上のファイアーウォールを一時的に無効化したところ、PINGは通りました。 【質問】 ファイアーウォールを有効にしつつ、サーバ⇒クライアントへPingを通せるように する設定方法について、ご教授をお願いしたく思います。 以上です。 よろしくお願いいたします。

  • Lindowsはクライアント用のOSですか。

    Lindowsについての質問です。 LindowsはLinuxのように、サーバとしても使えるのでしょうか。 Windows系で言えば、2000やXPがクライアント用、2003サーバがサーバ用というように、クライアント用がLindows、サーバ用がLinuxと考えればよいのでしょうか。 それとも、LindowsはLinuxのGUI性を強めてあるだけで、Linuxと同様に、サーバとしての機能をもっているのでしょうか。 (自分はWindows系のサーバしか使ったことがありません) 質問が漠然としているかもしれませんが、よろしくお願いします。

  • グループウェア クライアントからアクセス出来ない

    IT関連初心者です。 社内にグループウェアを導入したく、自己サーバーをたてtomcat8.5とグループセッション4をインストールし自己サーバーは導入でき、クライアント(約30-50台)と本導入前の接続テスト段階です。 サーバー(os:windows10 プラウザ:IE11 tomcat8.5 サーバーIPアドレスは固定アドレス) すんなりサーバーにアクセスできるクライアントもありますが、できないクライアントが数台ありましてそれらについて考えております。 ・できるクライアント(os:windows10 プラウザ:IE11,chrome,edge) ・できないクライアント(os:windows10 8.1 プラウザ:IE11 chrome最新版,) できるクライアント及びできないクライアント両方ともサーバーのfirewall有効状態だとpingは通りません。firewall無効にするとできるクライアントはpingが通りますが、できないクライアントは未確認です。 アクセス出来ないクライアントをどうすればアクセスできるようになるのか? お手上げ状態です。 どなたか私にご教授頂けると有難いです。 宜しくお願い致します。

  • Mysql+PHP+Apache/サーバークライアント環境での

    Mysql+PHP+ApacheでWebからデータベースを扱う勉強をはじめました。この3つを1台のPCにインストールして、Webサーバーをローカルに立てて動作確認をしてきました。これをサーバー/クライアント環境で行う場合のことでお尋ねします。 ★行いたいこと Webサーバーにデータ(HTML、PHP、データベース)を保存しておいて、クライアントからそのデータを操作して、Webページの開発を行いたい。 質問(1) Webサーバーにインストールするのは、Mysql+PHP+Apache、クライアントにインストールするのは、Mysqlでよろしいのか。 質問(2)クライアントのMysqlを起動して、サーバーのMysqlのデータを扱うという考え方でよいのか 質問(3)クライアントのMysql内のデータとサーバーのMysqlのデータの関係はどのようになるのか。 とてもお恥ずかしいですが、宜しくお願いします。

  • Access97は、Windows2003serverで稼動するのでし

    Access97は、Windows2003serverで稼動するのでしょうか? 仕事でAccess97のMDBをWindows2000からWindows2003に乗せかえることになりました。 テストサーバー上では稼動したのですが、本番サーバーに載せた途端に「システムエラー」で MDBが開かなくなりました。 このような事象を経験した方、回避方法をご回答願います。 【MDB】 AutoExecまたは起動時処理にてフォームを自動で開くように設定してある。 外部MDBにリンクが張ってある。 【テスト環境1】 OS Windows2003R2 Access 97SP1 サーバー DELL PowerEdge1950 【テスト環境2】 OS Windows2003 Access 97SP1 サーバー IBM 【本番環境】 OS Windows2003R2 Access 97SP1 サーバー 富士通 RX300S5

  • sambaでcsvファイルがwindowsからみえない

    sambaでcsvファイルがwindows XPからみえません。 (共有フォルダでファイルが参照できません。) ffftpなどでは、*.csvファイルがあります。 その他のテキストファイル.txtや、*.shなどのシェルファイル、 圧縮ファイルはなどは、問題なく見れております。 *.csvのアクセス件をchmod 777 *.csvにしても駄目でした。 これは、なぜでしょうか? 環境: linux---samba---windows xp

  • WindowsとMacintoshの混在した環境

    ClientがWindowsとMacintoshの混在した中で社内システムをWebベースで構築しようと思っています。 具体的には、Linuxサーバを立てて、Apache+php+postgreで構築しようと思っています。 OS(Win/Mac)が混在した環境でWebシステムを構築する注意点を教えてください。 よろしくお願いします。

  • クライアントとサーバという言葉の使い方

    「クライアントPC」とは、ユーザが操作している側のPCのことでブラウザ等を介して使用するPCというのが一般的です。 クライアントPC(ブラウザ) <-> サーバ(Webサーバ+CGI/PHP/JSP等) そこでクレジットカードの決済業者が提供しているAPI(代表的な例:WebPay)みたいに、 webサーバのプログラム(サービス利用者)にwebサーバのプログラム(サービス提供者)のサービスを提供するような場合、 クライアントPC???(Webサーバ+CGI/PHP/JSP等) <-> サーバ(Webサーバ+CGI/PHP/JSP等) この場合もサービス利用者側のことをクライアントPCと呼ぶのでしょうか?WebサーバなのにクライアントPCというのもなんか違和感があるのですが・・・適切な名称があったら教えてください。

専門家に質問してみよう