Advies bij gebruik cURL ipv. fopen() gevraagt.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joeri

Joeri

03/01/2007 19:30:00
Quote Anchor link
Hoi allemaal hier volgt een scriptje waar ik graag wat advies bij gehad. Mijn host heeft net zijn servers geupgrade naar PHP 5 en heeft de funktie fopen() uitgeschakeld en de URL wrapper uit veiligheidsoverwegingen. Zij stellen mij het alternatief cURL voor wat echter nieuw is voor me. Het lukt me al aardig maar had graag advies willen hebben in het gebruik ervan. Ik heb enkele sites bezocht hierover maar had toch graag vernomen hoe anderen werken met cURL in het veld. Graag hier dus wat hulp bij.

Voorbeeld script met fopen():

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

// URL lezen of instellen:
if (isset($_POST["url"])) {
  // cURL invoegen // lezen van het URL bestand en opslaan in array om deze te kunnen verwerken
  
    $url_naam = $_POST["url"];
}
else {
    $url = "http://www.jb-web.net/index.php";
}


// Kop en formulier weergeven:
?>

<h1>Metadata lezen</h1>
<form action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_SERVER['PHP_SELF']; ?>
" method="post">
<p>
<label for="url"><span style="text-decoration: underline">U</span>RL: </label>
<input accesskey="u" id="url" name="url" style="width: 300px" type="text" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $url; ?>
">
<input name="submit" type="submit" value="Weergeven">
</p>
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

// Metadata lezen:
$metadata = get_meta_tags($url);

// Metadata weergeven als de variabele $metadata een array is:
if (is_array($metadata)) {
    echo "<p><strong>Metadata van ";
    echo $url_naam;
    echo ":</strong></p>\n";
    // Begin van de tabel weergeven:
    echo "<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\">";
    echo "<th>Naam</th><th>Waarde</th>\n";
    foreach ($metadata as $naam => $waarde) {
        echo "<tr>";                     // Eén rij per tag
        echo "<td>" . $naam . "</td>";   // Naam in de eerste kolom
        echo "<td>" . $waarde . "</td>"; // Waarde in de tweede kolom
        echo "</tr>\n";                  // Einde van de rij
    }
    // Einde van de tabel weergeven:
    echo "</table>";
}


?>



Voorbeeld zelfde script met cURL: (langer en omslachtiger dunkt mij)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
// URL lezen en instellen:
if (isset($_POST["url"])) {
    $url = $_POST["url"]; }
else {
    $url = "index.php"; }

// cURL funktie voor uitlezen URL
$ch = curl_init();
$timeout = 5; // waarde 0 voor geen timeout
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$url_inhoud = curl_exec($ch);
curl_close($ch);
file_put_contents("meta_data.txt", $url_inhoud);

// Kop en formulier weergeven:  
?>

<h1>Metadata lezen</h1>
<form action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_SERVER['PHP_SELF']; ?>
" method="post">
<p>
<label for="url"><span style="text-decoration: underline">U</span>RL: </label>
<input accesskey="u" id="url" name="url" style="width: 300px" type="text" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $url; ?>
">
<input name="submit" type="submit" value="Weergeven">
</p>
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php

// Metadata lezen:
$metadata = get_meta_tags('meta_data.txt');

// Metadata weergeven als de variabele $metadata een array is:
if (is_array($metadata)) {
    echo "<p><strong>Metadata van ";
    echo $url;
    echo ":</strong></p>\n";
    // Begin van de tabel weergeven:
    echo "<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\">";
    echo "<th>Naam</th><th>Waarde</th>\n";
    foreach ($metadata as $naam => $waarde) {
        echo "<tr>";                     // Eén rij per tag
        echo "<td>" . $naam . "</td>";   // Naam in de eerste kolom
        echo "<td>" . $waarde . "</td>"; // Waarde in de tweede kolom
        echo "</tr>\n";                  // Einde van de rij
    }
    // Einde van de tabel weergeven:
    echo "</table>";
}

?>


Alle hulp is welkom alsook alternatieven.

Grtz en alvast bedankt.
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.