kostenloser Webspace werbefrei: lima-city


Externe PHP auch extern ausführen

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. r******r

    Toll ! Jetzt wo es anfing, mich zu interessieren, hat zwar der Threadersteller sein Problem gelöst - aber wenn jemand ( wie ich ) mal guckt, um zu sehen, wie es geht, steht er doch weiterwie der Ochs vorm Tor. Leider verstehe ich nämlich nur Bahnhof und hätte doch auch gerne gewußt, wie ich ohne iframes externe Seiten einbinden kann.

    Beitrag zuletzt geändert: 5.5.2011 6:49:13 von rorambur
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. besuchernews schrieb:
    Danke das ihr es weiter versucht^^

    Ich habe nun per Javascript eine PHP Datei geöffnet, welche per DOMDokument meine gewünschte Arbeit erledigt.
    Alle Probleme gelöst, aber trotzdem Danke.
    Mir geht es ähnlich wie rorambur. Vielleicht könntest du, besuchernews, deine Lösung posten, damit auch andere Benutzer davon profitieren können?
  4. so ich hab mir mal die mühe gemacht und das von mir oben genannte Video tutorial zusammen gefasst.
    diese Script ist ungetestet aber vielleicht hielft es euch

    script auf dem antwortenden Server
    <?php
    /***********************************************************
    Script von "betterphp", aus dem API tutorial
    link zum youtube kanal http://www.youtube.com/user/betterphp
    ************************************************************/
    
    
    
    // antwort Server ( nimmt daten von anfrage entgegen und giebt ergebnisse als json array aus )
    
    // kleiner Hinweis "Firefox" zeigt json nicht an. 
    // Es öffnet sich ein Download fenster beim aufruf dieser seite, also nicht iretieren lassen...
    // falls ihr aus debugging gründen diesen anzeigen lassen wollt kommentiert den header aus
    
    
    
    // wir nutzen json damit das Script von verschiedenen Programierspachen aus aufgerufen werden kann
    header('Content-Type: application/json');
    
    
    if(isset($_POST['request'])){
    
    	/**************
    	**euer script**
    	**************/
    
    	// die ergebnisse eures Scriptes in einen array packen 	
    	echo json_encode(array(
    		'key1'		=> 'ergebnis1',
    		'key2'		=> 'ergebnis2'	
    		));
    	
    }else {
    	// ausgabe von fehler meldung bzw. einer Hilfe
    	// kann also auch weg gelassen werden
    	echo json_encode(array(
    		'blah'		=> 'Lima',
    		'blooo'		=>'city'	
    		));
    }
    
    ?>



    Script vom Server der die anfrage stellt und die ergebnisse anzeigt
    <?php
    
    // script das die anfrage an den anderen Server sendet und ergebnisse ausgiebt
    
    // function die, die daten sendet
    function send_post_data($data){
    	// URL an die gesendet werden soll
    	$url 		= parse_url('http://wasewißich.de/meinscript.php');
    	$boundary 	= md5(microtime(true));
    	
    	$post = '';
    	
    	foreach($data as $name => $value){
    		$post .= '--'.$boundary.'\r\n';
    		$post .= 'Content-Disposition: form-data; name="'.$name.'"\r\n\r\n';
    		$post .= $value.'\r\n';
    	}
    	
    	$post .= '--'.$boundary.'--\r\n';
    	
    	if(isset($url['query'])){
    		$head = 'POST '. $url['path'] .'?'. $url['query'] .' HTTP/1.1\r\n';
    	}else {
    		$head = 'POST '. $url['path'] .' HTTP/1.1\r\n';
    	}
    	
    	$head .= 'Host: '. $url['host'] .'\r\n';
    	$head .= 'Content-Type: multipart/form-data; boundary="'. $boundary .'"\r\n';
    	$head .= 'Content-Length: '. strlen($post) .'\r\n';
    	$head .= 'Connection: Close\r\n\r\n';
    	
    	$socket = fsockopen($url['host'], ((isset($url['port'])) ? $url['port'] : 80 ));
    	
    	fwrite($socket, "$head $post");
    	
    	return end(explode('\r\n\r\n', stream_get_contents($socket)));
    }
    
    // die daten die Ihr senden wollt, in einem array
    $send = array();
    // ausgabe des ergebnisse
    echo json_decode(send_post_data($send), true);
    ?>


    Beitrag zuletzt geändert: 5.5.2011 11:52:13 von deep-shades
  5. Autor dieses Themas

    besuchernews

    besuchernews hat kostenlosen Webspace.

    Also ich entschuldige mich erstmal, das ich so lange nicht online war und dann schreibe ich mal den Code:
    Es geht darum die Datei "work.php" auf dem Server http://www.besuchernews.de zu lesen/auszuführen und das so, das die PHP_Datei auch auf diesem Server (besuchernews.de) ausgeführt wird auch wenn die Datei von der Domain lima-city.de geöffnet werden würde.

    Die index auf Lima:
    <script src="http://www.besuchernews.de/script.php?ID=xxx" type="text/javascript"></script>


    Die Datei script.php:
    <?php
    header('Content-Type:text/javascript');
    
    $websiteinhaber=$_GET['ID'];
    
    $doc = new DOMDocument();
    $doc->loadHTMLFile("http://www.besuchernews.de/work.php?ID=$websiteinhaber");
    $doc = $doc->saveHTML();
    
    $pattern = "/<body[^>]*>(.*)<\/body>/Usi"; 
    preg_match($pattern, $doc, $result); 
    $body = $result[1]; 
    $body = str_replace("<p>", "", $body);
    $body = str_replace("</p>", "", $body);
    $body = str_replace('"', "'", $body);
    $body = str_replace("document.write('", "document.write(\"", $body);
    $body = str_replace("');", "\");", $body);
    echo "$body";
    ?>


    Nun wird die Datei work ausgeführt und als HTML-datei , mit allen Tags ausgegeben, da ich nur den Inhalt will und nicht das ganze "<html><tilte><body>...." parse ich das was ich will heraus. Da aber leider bei diesem Vorgang die " " " durch " ' " ersetzt wurden, muss ich das per str_replace nacharbeiten.

    es ich vielleicht nicht der eleganteste Code, doch ist er kurz und funktioniert.
    Entschuldigt auch die Rechtschreibung, wie die Grammatik! Ich hatte eine lange Nacht vor mir.


    Beitrag zuletzt geändert: 12.5.2011 13:25:28 von besuchernews
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!