php include

Antti

Administraattori
Ylläpitäjä
Liittynyt
27.12.1998
Viestit
1967
Sijainti
Suomi
Miten php includella voi muuttaa toisella palvelimella olevan sivun tiettyjä kohtia, kuten title-tägin, ja tulostaa sivu?

Ilman muutoksia:

Koodi:
<?php
   readfile('http://www.jotain.com/');
?>
 

Tose

Kääntyy oikealle
Liittynyt
15.10.1999
Viestit
7245
Sijainti
The City
The include() statement includes and evaluates the specified file.
PHP:
<?php

/* This example assumes that [url]www.example.com[/url] is configured to parse .php *
* files and not .txt files. Also, 'Works' here means that the variables *
* $foo and $bar are available within the included file.                 */

// Won't work; file.txt wasn't handled by [url]www.example.com[/url] as PHP
include 'http://www.example.com/file.txt?foo=1&bar=2';

// Won't work; looks for a file named 'file.php?foo=1&bar=2' on the
// local filesystem.
include 'file.php?foo=1&bar=2';

// Works.
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo = 1;
$bar = 2;
include 'file.txt';  // Works.
include 'file.php';  // Works.

?>
Nämä ovat esimerkkejä PHP-manuaalista. Include toimii niin, että monen skriptin käyttämä yhteinen php-ohjelma on siinä includattavassa tiedostossa ja varsinaisesta ohjelmasta voi kutsua includessa olevia funtioita. Jos ei muuta include-tiedoston sisältöä, mikään ei muutu.
 
Viimeksi muokattu:

Antti

Administraattori
Ylläpitäjä
Liittynyt
27.12.1998
Viestit
1967
Sijainti
Suomi
Eli include on väärä käsky tähän. Tiedosto pitäisi lukea muistiin, tehdä muutokset (tyyliin find/replace) ja tulostaa uusi versio. Vähän niin kuin "web fetching". Ideoita?
 

Antti

Administraattori
Ylläpitäjä
Liittynyt
27.12.1998
Viestit
1967
Sijainti
Suomi
Löytyykö guruja? Miten ottaa kokonainen php-sivu toiselta koneelta ja muuttaa esim. vain title-tägi toiseksi? :confused:
 

vermula

Well-known member
Liittynyt
1.2.2001
Viestit
12921
Antti sanoi:
Löytyykö guruja? Miten ottaa kokonainen php-sivu toiselta koneelta ja muuttaa esim. vain title-tägi toiseksi? :confused:
Onko ongelma titletagin muuttaminen vai sivun ottaminen? Ratkaisin jos ivuin ottmaisen, esim tämä toimi kun kokeilin yliopiston palvelimella:

Koodi:
$html = implode('', file('http://www.supportersplace.com/new_version/shop_4.php$
print( $html );
Jos ongelma on se title tagin sisällön muuttaminen toiseksi, hetkinen katson jos keksis jotain vielä.

Ai niin ja tuo löytyigooglella: http://fi2.php.net/function.file
 

vermula

Well-known member
Liittynyt
1.2.2001
Viestit
12921
Ratkaisin jutun, lopulta se oli ihan yksinkertaista substr ja strpos juttua:

Koodi:
<?php

// Hakee sivun jostain stringiin
$html = implode('', file('http://www.supportersplace.com/new_version/shop_4.php'));

// Otetaan ennen '<title>' merkkijonoa oleva osa
$beginning = substr($html, 0, strpos($html, '<title>'));

// Otetaan '</title>' merkkijonon jälkeen esiintyvä osa
$end = substr($html, strpos($html, '</title>')+8);

// Tämä on merkkijono, jolla korvataan välistä unohdettu osa      
$title = '<title>TESTI</title>';

// Ja yhdistetään tulos
$result = $beginning.$title.$end;

// Wolaa 
print($result);
?>
Auttoiko?
 
Ylös