PHP omrežne funkcije
Vadnica logo
vadnica logo
x
HTML CSS JavaScript jQuery SQL PHP Laravel
HTML CSS JavaScript jQuery MySQL PHP Include Echo, Print Podatkovni tipi (Data Types) Spremenljivke (Variables) Nizi (String) Pretvorba podatkov (Casting) Izjeme Pogojni stavki Zanke Datum in Čas Koledar Funkcije Matrika (Array) MySQLi Obrazci (Forms) Filtri Ključne besede (Keyword) OOP (Razredi in Objekti) Razno Superglobalne spremenljivke Omrežne funkcije Knjižnica Laravel

PHP omrežne funkcije

Omrežne funkcije nam omogočajo manipuliranje z informacijami, ki jih brskalniku pošlje spletni strežnik, preden je poslan kateri koli drug izhod. Zagotavlja obsežen nabor funkcij za mrežno programiranje, ki omogočajo delo z različnimi mrežnimi protokoli in storitvami. Tukaj so nekateri ključni koncepti in funkcije, ki se pogosto uporabljajo pri mrežnem programiranju.

PHP omrežne funkcije

Dostop do URL-jev

PHP omogoča pridobivanje vsebine stran ali podatkov iz URL-jev z uporabo funkcij, kot so file_get_contents(), fopen(), fsockopen in cURL.

Dostop do URL-jev
Dostop do URL-jev
PRIMER
<?php
$url = 'ajax_post.html';
$response = file_get_contents($url);

if ($response !== FALSE) {
    echo "Vsebina URL-ja: " . $response;
} else {
    echo "Prišlo je do napake pri pridobivanju vsebine.";
}
            
REZULTAT
Vsebina URL-ja:

Dobrodošli na moji spletni strani!

V njej boste našli vadnice o HTML, CSS, JavaScript, SQL in PHP, ostalo še prihaja.
            

cURL

cURL je zmogljiva knjižnica za delo z URL-ji in omogoča več možnosti konfiguracije in funkcionalnosti, kot so pošiljanje zahtevkov GET in POST, obdelava odzivov, upravljanje piškotkov in še več.

<?php
$curl = curl_init();
/* vpisati moramo ime spletne strani, vpis same datoteke ne deluje
(cURL napaka: Could not resolve host: ajax_post.html) */
curl_setopt($curl, CURLOPT_URL, 'https://imeDomene.si/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

if ($response === FALSE) {
    echo "cURL napaka: " . curl_error($curl);
} else {
    echo "Vsebina URL-ja: " . $response;
}

curl_close($curl);
    

Sockets

PHP podpira nizkonivojsko mrežno programiranje z uporabo socket-ov, kar omogoča bolj neposreden nadzor nad mrežno komunikacijo. Spodnji program se ne ustavi, ker uporabljamo neskončno zanko while (true), kar je običajno za strežnike, saj želimo neprestano poslušati in obdelovati prihajajoče povezave. To je povsem normalno obnašanje strežnika. Če pa bi želeli, da se strežnik ustavi po določenem dogodku, lahko dodamo logiko znotraj neskončne zanke.

Primer uporabe socket-ov za ustvarjanje strežnika 1
Primer uporabe socket-ov za ustvarjanje strežnika 1
PRIMER
<?php
$host = "127.0.0.1";
$port = 8081;

$socket = socket_create(AF_INET, SOCK_STREAM, 0);
if ($socket === FALSE) {
    echo "Napaka pri ustvarjanju socket: " . socket_strerror(socket_last_error());
    exit;
}

$result = socket_bind($socket, $host, $port);
if ($result === FALSE) {
    echo "Napaka pri vezavi socket: " . socket_strerror(socket_last_error($socket));
    exit;
}

$result = socket_listen($socket, 5);
if ($result === FALSE) {
    echo "Napaka pri poslušanju socket: " . socket_strerror(socket_last_error($socket));
    exit;
}

echo "Strežnik posluša na {$host}:{$port}...\n";

while (true) {
    $client = socket_accept($socket);
    if ($client === FALSE) {
        echo "Napaka pri sprejemanju povezave: " . socket_strerror(socket_last_error($socket));
        break;
    }

    $input = socket_read($client, 1024);
    if ($input === FALSE) {
        echo "Napaka pri branju podatkov: " . socket_strerror(socket_last_error($client));
        socket_close($client);
        continue;
    }

    echo "Prejeto: " . $input . "\n";
    // Če pa bi želeli, da se strežnik ustavi po določenem dogodku.
    // if (trim($input) === "STOP") {
    //    echo "Prejet ukaz za ustavitev strežnika.\n";
    //    socket_close($client);
    //    break;  // Izhod iz neskončne zanke
    //}

    $response = "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nContent-Length: 30\r\n\r\nPozdravljeni iz PHP strežnika!";
    socket_write($client, $response);

    socket_close($client);
}

socket_close($socket);
            
REZULTAT
C:\xampp\php\php.exe -c C:\xampp\php\php.ini "C:\Users\"
Strežnik posluša na 127.0.0.1:8081...
            

V primeru, da dobimo napako moramo iti v php.ini datoteko in izbrisati podpičje (;) v vrstici, ki vsebuje ;extension=sockets. Samo odstranimo podpičje (;) na začetku vrstice, da s tem omogočimo razširitev.

Primer uporabe socket-ov za ustvarjanje strežnika 2
Primer uporabe socket-ov za ustvarjanje strežnika 2

Pošiljanje e-pošte

PHP ponuja funkcijo mail za pošiljanje e-pošte znotraj aplikacij.

<?php
$to = 'uporabnik@primer.com';
$subject = 'Pozdrav iz PHP';
$message = 'To je testno sporočilo poslano z uporabo PHP.';

$headers = "From: webmaster@primer.com";

if (mail($to, $subject, $message, $headers)) {
    echo "E-pošta uspešno poslana.";
} else {
    echo "Prišlo je do napake pri pošiljanju e-pošte.";
}
    

Pomembne točke:

  1. Pri delu z mrežnimi povezavami moramo vedno poskrbeti za ustrezne varnostne ukrepe, kot so preverjanje vhodov in zaščita pred napadi.
  2. Vedno je potrebno preverjati morebitne napake in jih ustrezno obdelati.
  3. Moramo biti pozorni na uspešnost mrežnih operacij in ustrezno prilagoditi nastavitve timeout in druge parametre.

Mrežno programiranje v PHP omogoča ustvarjanje robustnih in zanesljivih spletnih aplikacij, ki lahko komunicirajo z drugimi omrežnimi storitvami in API-ji.

Hvala za obisk! Dodajam politiko zasebnosti.

© 2024 Vse pravice pridržane.

Donirajte preko PayPal ADMIN