Quiero pasar a una función de una cadena, lo que lleva a que la cadena de tachuelas en la url. A continuación se va a la url y, a continuación, devuelve la página a mi servidor para que yo pueda manipular con JS.

Cualquier idea será muy apreciada.

saludos.

  • Por favor aclarar. Es confuso para su 10k lectores.
InformationsquelleAutor joepour | 2009-07-07

3 Comentarios

  1. 9

    Si su fopen_wrappers está enabled, puede utilizar file_get_contents() para recuperar la página y, a continuación, insertar código JavaScript en el contenido antes de eco como de salida.

    $content = file_get_contents('http://example.com/page.html');
    if( $content !== FALSE ) {
      //add your JS into $content
      echo $content;
    }

    Por supuesto, esto no afectará a la página original.

  2. 0

    Usted debería ser capaz de utilizar fopen() para lo que usted desea. Se puede aceptar Url.

    echo "<script type='text/javascript' src='myjavascript.js'></script>";
    $handle = @fopen("http://www.example.com/", "r");
    if ($handle) {
        while (!feof($handle)) {
            $buffer = fgets($handle, 4096);
            echo $buffer;
        }
        fclose($handle);
    }
  3. 0

    Usando CURL probablemente sería más fácil, pero yo prefiero hacer las cosas yo mismo. Este se conecta a una dirección determinada y devolver el contenido de la página. También regresará los encabezados, aunque, por lo que mirar hacia fuera para que:

    function do_request ($host, $path, $data, $request, $specialHeaders=null, $type="application/x-www-form-urlencoded", $protocol="", $port="80")
    {
            $contentlen = strlen($data);
            $req = "$request $path HTTP/1.1\r\nHost: $host\r\nContent-Type: $type\r\nContent-Length: $contentlen\r\n";
            if (is_array($specialHeaders))
            {
                foreach($specialHeaders as $header)
                {
                    $req.=$header;
                }
            }
            $req.="Connection: close\r\n\r\n";
            if ($data != null) {
                $req.=$data;
            }
            $fp = fsockopen($protocol.$host, $port, $errno, $errstr);
            if (!$fp) {
                throw new Exception($errstr);
            }
            fputs($fp, $req);
            $buf = "";
            if (!feof($fp)) {
                $buf = @fgets($fp);
            }
            return $buf;
    }
    • Sí, file_get_contents() es probablemente más fácil, pero esto va a funcionar si fopen_wrappers no está habilitado.

Dejar respuesta

Please enter your comment!
Please enter your name here