Kagaratsch
Kagaratsch

Reputation: 1023

Download the first 5kb of a file with PHP as plain text?

Let's say I'd like to download some information from a file on the internet within PHP, but I do not need the entire file. Therefore, loading the full file through

$my_file = file_get_contents("https://www.webpage.com/".$filename);

would use up more memory and resources than necessary.

Is there a way to download only e.g. the first 5kb of a file as plain text with PHP?

EDIT:

In the comments it was suggested to use e.g. maxlen arg for file_get_contents or similar. But what I noticed that the execution time of the call does not vary appreciably for different maxlen which means that the function loads the full file and then just returns a substring to the variable.

Is there a way to make PHP download just the required amount of bytes and no more, to speed things up?

Upvotes: 0

Views: 149

Answers (1)

Jigar
Jigar

Reputation: 3322

<?php
$fp = fopen("https://www.webpage.com/".$filename, "r");
$content = fread($fp,5*1024);
fclose($fp);
?>

Note: Make sure allow_url_fopen is enabled.

PHP Doc: fopen, fread

Upvotes: 1

Related Questions