php

Gebruik van fread() in PHP

Gebruik van fread() in PHP
PHP heeft veel ingebouwde functies om de inhoud van elk bestand te lezen. Sommigen van hen zijn fread(), readfile(), fgets(), fscanf(), file(), etc. Sommige functies moeten het bestand openen voordat ze kunnen worden gelezen, en sommige kunnen de inhoud van het bestand lezen zonder het te openen. fread() functie leest de inhoud van het bestand na het openen. Deze functie werkt met een andere ingebouwde functie genaamd fopen(). Hoe de inhoud van het bestand kan worden gelezen in PHP met behulp van de fread() functie wordt getoond in deze tutorial.

Syntaxis:
string fread (bron $handle, int $length)

Het kan twee argumenten hebben en geeft de specifieke inhoud van een bestand als een string terug. Het eerste argument neemt de bestandshandler van een open bestand en het tweede argument neemt de lengte van bytes als het nummer dat wordt gelezen. De argumentwaarde kan groter zijn dan de oorspronkelijke bestandsgrootte.

Een tekstbestand maken

Maak een door komma's gescheiden tekstbestand met de naam werknemers.txt met de volgende inhoud. De functie fread() wordt vervolgens gebruikt om dit tekstbestand op verschillende manieren te lezen in het volgende deel van deze tutorial.

medewerkers.tekst
E-10023, Jafar Iqbal, Manager, Verkoop, 08-12-2000
E-10047, Anisul Hoque, assistent-manager, HR, 06-11-2010
E-10039, Humayan Ahmed, Accountant, Marketing, 01-06-2009
E-10027, Tamim Iqbal, Manager, HR, 02-11-2011
E-10093, Rokeya Rahman, Boekhouder, Verkoop, 05-10-2011

Voorbeeld 1: Lees de specifieke inhoud van een tekstbestand

Het volgende voorbeeld laat zien hoe de specifieke inhoud van een bestand kan worden gelezen met de functie fread(). fopen() functie wordt gebruikt in het script om medewerkers te openen.txt om te lezen. Vervolgens wordt de functie fread() gebruikt om de eerste 30 bytes van het tekstbestand te lezen dat later wordt afgedrukt.

//Stel de bestandsnaam in met pad
$filename = "werknemers.tekst";
//Open het bestand in leesmodus
$fh = fopen($bestandsnaam, "r");
//Lees 30 bytes uit het bestand
$inhoud = fread($fh, 30);
// Druk de retourwaarde af van de functie fread())
echo "De eerste 30 bytes van het bestand:
".$inhoud;
//Sluit het bestand
fclose($fh);
?>

Uitgang:
De volgende uitvoer zal verschijnen nadat het script vanaf de server is uitgevoerd:. De uitvoer toont de eerste 30 bytes van de medewerkers.tekst het dossier.

Voorbeeld 2: Lees de volledige inhoud van een tekstbestand

Het volgende voorbeeld laat zien hoe de volledige inhoud van een tekstbestand kan worden gelezen met de functie fread(). Net als in het vorige voorbeeld, wordt de functie fopen() gebruikt om de werknemers te openen.txt-bestand om te lezen. De functie filesize() wordt in het script gebruikt om de totale grootte van het openingstekstbestand te achterhalen. De functie fread() leest de volledige inhoud van het bestand wanneer de waarde voor de totale bestandsgrootte wordt doorgegeven als het tweede argument van deze functie.

//Stel de bestandsnaam in met pad
$filename = "werknemers.tekst";
//Open het bestand in leesmodus
$fh = fopen($bestandsnaam, "r");
//Lees de volledige inhoud van het bestand
$full_content = fread($fh, bestandsgrootte($bestandsnaam));
//Druk de inhoud van het bestand af
echo $full_content."

";
//Sluit het bestand
fclose($fh);
?>

Uitgang:
De volgende uitvoer zal verschijnen nadat het script vanaf de server is uitgevoerd:. De uitvoer toont de volledige inhoud van de medewerkers.tekst het dossier.

Voorbeeld 3: Lees de inhoud van een binair bestand

Het volgende voorbeeld laat zien hoe een afbeeldingsbestand kan worden gelezen met de functie fread(). Hier wordt de functie fopen() gebruikt om een ​​binair bestand met de naam . te openen bloem.jpeg voor lezen. De functie fread() wordt gebruikt met de functie filesize() om de volledige inhoud van het binaire bestand te lezen. base64_encode() functie wordt in het script gebruikt om de inhoud van het binaire bestand om te zetten in een door mensen leesbaar formaat. Dan de tag wordt gebruikt om de afbeelding af te drukken.

//Stel de bestandsnaam in met pad
$filename = "/var/www/html/php/flower.jpeg";
//Open een binair bestand met leesmodus
$fh = fopen($bestandsnaam, "rb");
//Lees de inhoud van het bestand
$content = fread($fh, bestandsgrootte($bestandsnaam));
// Codeer de inhoud met de methode base64_encode()
$encoded_data = base64_encode($content);
//Stel het mime-type in
$mime_type ='afbeelding/gif';
//Stel de binaire string in om de afbeelding te genereren
$binary_data = 'gegevens:' . $mime_type . ';base64,' . $encoded_data ;
// Druk de afbeelding af
echo'';
//Sluit het bestand
fclose($fh);
?>

Uitgang:
Als de bloem.jpeg bestand bestaat op de huidige locatie, dan wordt de afbeelding weergegeven als uitvoer zoals het volgende:.

Voorbeeld 4: Lees het bestand van een externe link

De lokale bestaande tekst en binaire bestanden worden gebruikt in de vorige drie voorbeelden. Het volgende voorbeeld laat zien hoe het bestand van de externe link kan worden gelezen met behulp van de functie fread(). Een extern tekstbestand wordt geopend om te lezen met behulp van de functie fopen(). De eerste functie fread() wordt gebruikt om 1024 bytes uit het externe tekstbestand te lezen. Vervolgens wordt een externe link van een binair bestand geopend om te lezen met de functie fopen(). De tweede functie fread() wordt gebruikt om 10000 bytes uit het externe binaire bestand te lezen. De binaire inhoud wordt geconverteerd naar het voor mensen leesbare formaat zoals in het vorige voorbeeld en de afbeelding wordt afgedrukt.

//Stel de externe link van tekst in
$url = "https://fahmidasclassroom.com/sample.tekst";
//Declare file handler voor het lezen van het tekstbestand
$fh = fopen($url, "r");
//Lees de 1024 bytes van het bestand
$inhoud = fread($fh, 1024);
// Druk de gedefinieerde bytes van het bestand af
echo "De inhoud van het tekstbestand:
".$inhoud."

";
//Sluit de bestandshandler
fclose($fh);
//Stel de externe link van het binaire bestand in
$url = "https://fahmidasclassroom.com/foto.jpg";
//Declare file handler voor het lezen van het binaire bestand
$fh = fopen($url, "rb");
//Lees de 10000 bytes van het bestand
$ inhoud = fread ($ fh, 10000);
// Codeer de inhoud met de methode base64_encode()
$encoded_data = base64_encode($content);
//Stel het mime-type in
$mime_type ='afbeelding/gif';
//Stel de binaire string in om de afbeelding te genereren
$binary_data = 'gegevens:' . $mime_type . ';base64,' . $encoded_data ;
// Druk de afbeelding af
echo "De inhoud van het binaire bestand:
".'';
fclose($fh);
?>

Uitgang:
Als de foto.jpeg bestand bestaat op de opgegeven locatie, dan wordt de afbeelding weergegeven als uitvoer zoals het volgende:.

Video uitleg

Conclusie

Het gebruik van de functie fread() om de tekst en binaire bestanden te lezen, wordt in deze zelfstudie uitgelegd aan de hand van verschillende voorbeelden. Deze functie kan worden gebruikt voor het lezen van zowel de interne als de externe bestanden. Hopelijk kunnen de lezers de functie fread() in het PHP-script gebruiken voor het lezen van bestanden na het oefenen van de voorbeelden van deze tutorial.

Open source-poorten van commerciële game-engines
Gratis, open source en platformonafhankelijke game-engine-recreaties kunnen worden gebruikt om zowel oude als enkele van de vrij recente gametitels te...
Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...
Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...