Användning av fjärrfiler: Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '== Användning av fjärrfiler == Så länge ''allow_url_fopen'' är aktiverat i ''php.ini'', kan du använda HTTP- och FTP-URL:er med de flesta funktioner som tar en filnamnparameter. Dessutom kan URL:er användas med ''include'', ''include_once'', ''require'' och ''require_once''-satsningar (allow_url_include måste vara aktiverat för dessa). Se Stödda protokoll och wrappers för mer information om de protokoll som stöds av PHP....') |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
Rad 1: | Rad 1: | ||
== Användning av fjärrfiler == | == Användning av fjärrfiler == | ||
Så länge ''allow_url_fopen'' är aktiverat i ''php.ini'', kan du använda HTTP- och FTP-URL:er med de flesta funktioner som tar en filnamnparameter. Dessutom kan URL:er användas med ''include'', ''include_once'', ''require'' och ''require_once''-satsningar (allow_url_include måste vara aktiverat för dessa). Se [[Supported Protocols and Wrappers|Stödda protokoll och wrappers]] för mer information om de protokoll som stöds av PHP. | Så länge ''allow_url_fopen'' är aktiverat i ''php.ini'', kan du använda HTTP- och FTP-URL:er med de flesta funktioner som tar en filnamnparameter. Dessutom kan URL:er användas med ''[[include]]'', ''[[include_once]]'', ''[[require]]'' och ''[[require_once]]''-satsningar (allow_url_include måste vara aktiverat för dessa). Se [[Supported Protocols and Wrappers|Stödda protokoll och wrappers]] för mer information om de protokoll som stöds av PHP. | ||
Till exempel kan du använda detta för att öppna en fil på en fjärrwebbserver, tolka utdata för de data du vill ha och sedan använda dessa data i en databasfråga, eller helt enkelt för att visa dem i en stil som matchar resten av din webbplats. | Till exempel kan du använda detta för att öppna en fil på en fjärrwebbserver, tolka utdata för de data du vill ha och sedan använda dessa data i en databasfråga, eller helt enkelt för att visa dem i en stil som matchar resten av din webbplats. |
Nuvarande version från 3 september 2024 kl. 14.11
Användning av fjärrfiler
Så länge allow_url_fopen är aktiverat i php.ini, kan du använda HTTP- och FTP-URL:er med de flesta funktioner som tar en filnamnparameter. Dessutom kan URL:er användas med include, include_once, require och require_once-satsningar (allow_url_include måste vara aktiverat för dessa). Se Stödda protokoll och wrappers för mer information om de protokoll som stöds av PHP.
Till exempel kan du använda detta för att öppna en fil på en fjärrwebbserver, tolka utdata för de data du vill ha och sedan använda dessa data i en databasfråga, eller helt enkelt för att visa dem i en stil som matchar resten av din webbplats.
Exempel #1 Att få titeln på en fjärrsida
<?php $file = fopen("http://www.example.com/", "r"); if (!$file) { echo "<p>Kan inte öppna fjärrfilen.\n"; exit; } while (!feof($file)) { $line = fgets($file, 1024); /* Detta fungerar bara om titeln och dess taggar är på en rad */ if (preg_match("@\<title\>(.*)\</title\>@i", $line, $out)) { $title = $out[1]; break; } } fclose($file); ?>
Du kan också skriva till filer på en FTP-server (förutsatt att du har anslutit som en användare med rätt åtkomsträttigheter). Du kan bara skapa nya filer med denna metod; om du försöker skriva över en fil som redan finns kommer fopen()-anropet att misslyckas.
För att ansluta som en annan användare än "anonym" måste du ange användarnamnet (och eventuellt lösenordet) inom URL:en, som 'ftp://user:password@ftp.example.com/path/to/file'. (Du kan använda samma typ av syntax för att komma åt filer via HTTP när de kräver Basic-autentisering.)
Exempel #2 Spara data på en fjärrserver
<?php $file = fopen("ftp://ftp.example.com/incoming/outputfile", "w"); if (!$file) { echo "<p>Kan inte öppna fjärrfilen för skrivning.\n"; exit; } /* Skriv datan här. */ fwrite($file, $_SERVER['HTTP_USER_AGENT'] . "\n"); fclose($file); ?>
Notera:
Du kanske får idén från exemplet ovan att du kan använda denna teknik för att skriva till en fjärrloggfil. Tyvärr skulle det inte fungera eftersom fopen()-anropet kommer att misslyckas om den fjärrfilen redan finns. För att göra distribuerad loggning som detta bör du titta på syslog().
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/security.cgi-bin.default.php
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp.se som har sponsrat Linux.se med webserver.