タイトルのとおりなのですが、
どのような方法がございますでしょうか?
削除を行うPHPのプログラムを作成したのですが、
Delphiからの起動方法がわからなくて。
パラメータを渡して、起動するような具合にしたいです。
もし直接Delphiで削除できるようなら
そうしたいです。
ご教示お願い致します。
>ご教示お願い致します。
で,何が知りたいのでしょうか ?
文章を読む限りでは,
「私のかわりに,そのようなプログラムを作成してほしい.具体的なコードが欲しい」
とも読み取れます.そうすると,「質問」というより「依頼」になってしまいます.
通常「依頼」には「代価」が必要になります.
>どのような方法がございますでしょうか?
ということであれば,
(1) その Web サーバにログインする
(2) そのディレクトリ内に存在するファイル(名)を調べる
(3) それらのファイルを,ファイルがなくなるまで削除する
という方法になると思います.
当然ですが,その Web サーバのファイルを操作する権限がなければ削除できません.
つまり,
(1) その Web サーバにログインする方法を知る必要がある
(2) そのディレクトリ内に存在するファイル(名)を調べる方法を知る必要がある
(3) ディレクトリ内のファイルがなくなるまでを検出する方法を知る必要がある
ということになります.
で,何が分からないのでしょうか ?
>パラメータを渡して、起動するような具合にしたいです。
何を起動するのでしょうか ?
Web サーバのディレクトリを削除するプログラムでしょうか ?
とすると,パラメータは何にするのでしょうか ?
起動する EXE にパラメータを渡す方法はご存じなのでしょうか ?
参考リンク
http://www.hyuki.com/writing/techask.html
https://www.google.co.jp/?gws_rd=ssl
http://www.bing.com/?scope=web&mkt=ja-JP&FORM=PRJPJA
http://search.yahoo.co.jp/
>(1) その Web サーバにログインする方法を知る必要がある
>(2) そのディレクトリ内に存在するファイル(名)を調べる方法を知る必要がある
>(3) ディレクトリ内のファイルがなくなるまでを検出する方法を知る必要がある
↓
(1) その Web サーバにログインする方法を知る必要がある
(2) そのディレクトリ内に存在するファイル(名)を調べる方法を知る必要がある
(3) ファイルを削除する方法を知る必要がある
(4) ディレクトリ内のファイルがなくなるまでを検出する方法を知る必要がある
>起動する EXE にパラメータを渡す方法はご存じなのでしょうか ?
その EXE はどうのように起動するつもりなのでしょうか ?
エクスプローラから,それとも別のアプリから ?
それとも....
>どのような方法がございますでしょうか?
これだけであれば,Web サーバにアクセス,あるいは操作のテクノロジーにはどんな種類があるのか ?
という内容にも読み取れますが,
>タイトルのとおりなのですが、
となっていると,違いますね.
>起動する EXE にパラメータを渡す方法はご存じなのでしょうか ?
そのパラメータを EXE 側で受け取る方法はご存じなのでしょうか ?
PHP の起動は
ShellExecute (0,'open','http://****.***.***/delete.php','','',SW_SHOW);
か
WebBrowser1.Navigate('http://****.***.***/delete.php');
直接削除するなら FTP でログインして削除かな
PHP の例がでたので,
Delphi 付属の Indy コンポを使用する場合の PHP の操作例です.
ディレクトリあるいはディレクトリ内のファイルの削除の場合は,対象のディレクトリよりも
上の階層に操作用の PHP のファイルをサーバに UP しておきます (当たり前 !?).
動作確認は Windows 7 U64(SP1) + Delphi XE(UP1) + Indey 10.5.7
//=============================================================================
// Mr.XRAYのサイトのtestpost.phpを実行する例
// testpost.phpは実在のPHPファイル
//
// フォームに配置したTIdHTTPコンポを使用(コンポ名はIdHTTP1)
// HTTPEncodeの使用にはusesにHTTPAppが必要
//=============================================================================
procedure TForm1.Button1Click(Sender: TObject);
var
PostURL : String;
PostStream : TStringList;
ResStream : TStringStream;
begin
Memo1.Clear;
//PostURLはPHPファイルがある場所
PostURL := 'http://mrxray.on.coocan.jp/Others/testpost.php';
//PostStreamにはPHPに渡すパラメータを設定する
PostStream := TStringList.Create;
//PHPから情報を受け取るストリーム
ResStream := TStringStream.Create('');
//自動でエンコードしないようにする
IdHTTP1.HTTPOptions := IdHTTP1.HTTPOptions - [hoForceEncodeParams];
Screen.Cursor := crHourGlass;
try
try
//PHP実行
IdHTTP1.Post(PostURL, PostStream, ResStream);
except
//エラー内容はIdHTTP1.ResponseTextで受取る
end;
finally
Memo1.Lines.Add(IdHTTP1.ResponseText);
//サーバからのデータを表示
Memo1.Lines.Add(ResStream.DataString);
Screen.Cursor := crDefault;
FreeAndNil(PostStream);
FreeAndNil(ResStream);
end;
end;
>対象のディレクトリよりも上の階層に操作用の PHP のファイルをサーバに UP しておきます
もちろん,ローカルな環境で PHP が実行可能になっていれば,
ローカルなディクス内の PHP ファイルでも構いません.
ツイート | ![]() |