【Windows+IE】WEBページ を 自分の PC の一部として使う
|
|
日時: 2008/07/28 18:58
名前: lightbox
|
|
|
main.php ( No.1 ) |
|
日時: 2018/02/06 18:50
名前: lightbox
|
日時: 2018/02/06 18:50 名前: lightbox
拡張子:
<?
header( "Content-Type: text/html; Charset=shift_jis" );
header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );
session_start();
if ( $_COOKIE['service'] == "" ) {
$_COOKIE['service'] = "ORCL";
}
if ( $_COOKIE['path'] != "" ) {
$_COOKIE['path'] = trim(str_replace("\\\\","\\", $_COOKIE['path']));
}
$DirHandle = @opendir("./");
if ( $DirHandle ) {
$Target = readdir( $DirHandle );
while( $Target !== false ) {
if ( $Target != "." ) {
$ext = strrchr( $Target, "." );
$ext = strtolower($ext);
if ( $ext == ".vbs" ) {
$astamp = stat($Target);
$laststamp = $astamp[9];
if ( $laststamp < time() - 300 ) {
@unlink($Target);
}
}
}
$Target = readdir( $DirHandle );
}
closedir( $DirHandle );
}
?>
<HTML>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=shift_jis" />
<STYLE type="text/css">
* {
font-size: 12px;
}
.column {
font-weight:bold;
border-style:solid;
border-width:1px;
border-color:#000000;
padding: 4px;
}
.head {
background-color:#C0C0C0;
}
</STYLE>
<SCRIPT
language="javascript"
type="text/javascript"
src="http://lightbox.in.coocan.jp/prototype.js">
</SCRIPT>
<SCRIPT language="javascript" type="text/javascript">
var tid = -1;
function startGetData() {
if ( tid == -1 ) {
tid = window.setInterval( "getDir('')", 3000 );
}
}
function getDir(target) {
var a = new Ajax.Request(
"getdir.php",
{
method: "get",
asynchronous: true,
encoding : "SHIFT_JIS",
parameters: { "target" : target },
onSuccess: function(request) {
},
onComplete: function(request) {
if ( request.responseText != '' ) {
document.getElementsByName("path")[0].value = request.responseText;
window.clearInterval(tid);
tid = -1;
}
},
onFailure: function(request) {
alert('読み込みに失敗しました');
}
}
);
}
</SCRIPT>
</HEAD>
<BODY>
<FORM
method="POST"
action="oraclecsv.php"
>
<TABLE
border=1
style='
border-collapse:collapse;
border-style:solid;
border-width:1px;
border-color:#000000;
'
>
<TR>
<TD class="column head">PC名</TD>
<TD class="column">
<INPUT
type="text"
name="pcname"
value="<?= $_COOKIE['pcname'] ?>"
style='width:200px;'
> サービス名
<INPUT
type="text"
name="service"
value="<?= $_COOKIE['service'] ?>"
style='width:50px;'
>
</TD>
</TR>
<TR>
<TD class="column head">ユーザー</TD>
<TD class="column">
<INPUT
type="text"
name="user"
value="<?= $_COOKIE['user'] ?>"
style='width:200px;'
>
</TD>
</TR>
<TR>
<TD class="column head">パスワード</TD>
<TD class="column">
<INPUT
type="password"
name="pass"
value="<?= $_COOKIE['pass'] ?>"
style='width:200px;'
>
</TD>
</TR>
<TR>
<TD class="column head">テーブル名</TD>
<TD class="column">
<INPUT
type="text"
name="table"
value="<?= $_COOKIE['table'] ?>"
style='width:400px;'
>
</TD>
</TR>
<TR>
<TD class="column head">保存パス</TD>
<TD class="column">
<INPUT
type="text"
name="path"
style='width:400px;'
>
<INPUT
type="button"
value="参照"
onClick='document.getElementById("loaddir").submit();startGetData();'
>
</TD>
</TR>
<TR>
<TD class="column" colspan="2">
<INPUT
type="submit"
name="send"
value="送信"
>
</TD>
</TR>
</TABLE>
</FORM>
<FORM
id="loaddir"
method="GET"
action="loaddir.php"
style='display:none'
>
<INPUT
type="text"
name="domain"
>
</FORM>
</BODY>
</HTML>
<SCRIPT language="javascript" type="text/javascript">
document.getElementsByName("domain")[0].value = location.host;
</SCRIPT>
|
loaddir.php ( No.2 ) |
日時: 2008/07/28 19:34 名前: lightbox
拡張子:
<?
mb_language( "ja" );
mb_internal_encoding("UTF-8");
if ( $_GET['sessionget'] == 'y' ) {
ini_set("session.use_trans_sid", "1");
ini_set("session.use_cookies", "0");
session_start();
$_SESSION['dir'] = str_replace("\\\\","\\", $_GET['dir']);
$_SESSION['dir'] = mb_convert_encoding( $_SESSION['dir'], "SHIFT_JIS", "UTF-8" );
print "OK" . $_SESSION['dir'];
}
else {
session_start();
$sid = session_id();
$str = <<<VBS
' **********************************************************
' オブジェクト作成
' **********************************************************
Set Shell = CreateObject( "Shell.Application" )
Set obj = Shell.BrowseForFolder( 0, strTitle, 11, 0 )
if obj is nothing then
Wscript.Quit
end if
if not obj.Self.IsFileSystem then
MsgBox( "ファイルシステムではありません" )
Wscript.Quit
end if
Set sc = CreateObject("ScriptControl")
sc.Language = "JScript"
Set js = sc.CodeObject
strUrl = "http://{$_GET['domain']}{$_SERVER['PHP_SELF']}"
strUrl = strUrl & "?PHPSESSID={$sid}&sessionget=y&dir=" & js.encodeURI(obj.Self.Path)
Set objSrvHTTP = CreateObject("Msxml2.ServerXMLHTTP.3.0")
on error resume next
Call objSrvHTTP.Open("GET", strUrl, False )
if Err.Number <> 0 then
MsgBox( "HTTP エラーです" )
Wscript.Quit
end if
on error goto 0
objSrvHTTP.Send
VBS;
$flname = "getdir" . session_id() . ".vbs";
file_put_contents($flname,$str);
header( "Location: $flname" );
}
?>
|
getdir.php ( No.3 ) |
日時: 2008/07/28 19:36 名前: lightbox
|
oraclecsv.php ( No.4 ) |
日時: 2008/07/28 19:38 名前: lightbox
拡張子:
<?
if ( $_POST['pcname'] != '' ) {
session_start();
setcookie("pcname", $_POST['pcname'], time()+3600*24*30);
setcookie("service", $_POST['service'], time()+3600*24*30);
setcookie("user", $_POST['user'], time()+3600*24*30);
setcookie("pass", $_POST['pass'], time()+3600*24*30);
setcookie("table", $_POST['table'], time()+3600*24*30);
$_POST['path'] = trim(str_replace("\\\\","\\", $_POST['path']));
setcookie("path", $_POST['path'], time()+3600*24*30);
if ( trim( $_POST['service'] ) != "" ) {
$_POST['service'] = '/' . $_POST['service'];
}
$str = <<<VBS
' **********************************************************
' オブジェクト作成
' **********************************************************
Set Cn = CreateObject( "ADODB.Connection" )
Set Rs = CreateObject( "ADODB.Recordset" )
Set Fs = CreateObject( "Scripting.FileSystemObject" )
strDriver = "{Microsoft ODBC for Oracle}"
strServer = "{$_POST['pcname']}{$_POST['service']}"
strUser = "{$_POST['user']}"
strPass = "{$_POST['pass']}"
strTable = "{$_POST['table']}"
ConnectionString = _
"Provider=MSDASQL" & _
";Driver=" & strDriver & _
";Server=" & strServer & _
";UID=" & strUser & _
";PWD=" & strPass & _
";"
' **********************************************************
' 接続
' **********************************************************
on error resume next
Cn.Open ConnectionString
if Err.Number <> 0 then
Wscript.Echo Err.Description
Wscript.Quit
end if
on error goto 0
' **********************************************************
' 列情報取得
' **********************************************************
Query = "select * from USER_TAB_COLUMNS"
Query = Query & " where TABLE_NAME = '" & strTable & "'"
Query = Query & " order by COLUMN_ID"
on error resume next
Rs.Open Query, Cn
if Err.Number <> 0 then
Cn.Close
Wscript.Echo Err.Description
Wscript.Quit
end if
on error goto 0
Query = "select "
CsvTitle = ""
Do While not Rs.EOF
if CsvTitle <> "" then
Query = Query & "||','||"
CsvTitle = CsvTitle & ","
end if
Query = Query & Rs.Fields("COLUMN_NAME").Value
CsvTitle = CsvTitle & Rs.Fields("COLUMN_NAME").Value
Rs.MoveNext
Loop
Query = Query & " from " & strTable
Rs.Close
' **********************************************************
' データ取得用クエリー
' **********************************************************
on error resume next
Rs.Open Query, Cn
if Err.Number <> 0 then
Cn.Close
Wscript.Echo Err.Description
Wscript.Quit
end if
on error goto 0
' **********************************************************
' 出力ファイルオープン
' **********************************************************
Set Csv = Fs.CreateTextFile( "{$_POST['path']}\\{$_POST['table']}.csv", True )
' **********************************************************
' タイトル出力
' **********************************************************
Csv.WriteLine CsvTitle
' **********************************************************
' データ出力
' **********************************************************
Do While not Rs.EOF
Csv.WriteLine Rs.Fields(0).Value
Rs.MoveNext
Loop
' **********************************************************
' ファイルクローズ
' **********************************************************
Csv.Close
' **********************************************************
' レコードセットクローズ
' **********************************************************
Rs.Close
' **********************************************************
' 接続解除
' **********************************************************
Cn.Close
' **********************************************************
' オブジェクト解放
' **********************************************************
Set Fs = Nothing
Set Rs = Nothing
Set Cn = Nothing
Wscript.Echo "処理が終了しました"
VBS;
$flname = "oraclecsv" . session_id() . ".vbs";
file_put_contents($flname,$str);
header( "Location: $flname" );
}
else {
header( "Location: main.php" );
}
?>
|
|
|
|