Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #10325

Re: Reading a file on same server

Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail
Date Thu, 01 Aug 2013 21:28:26 +0200
From Luuk <luuk@invalid.lan>
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7
MIME-Version 1.0
Newsgroups comp.lang.php
Subject Re: Reading a file on same server
References <94992e21-fd7e-47b5-868f-6735808e50a4@googlegroups.com> <b5sr4vFm4kuU1@mid.individual.net>
In-Reply-To <b5sr4vFm4kuU1@mid.individual.net>
Content-Type text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding 7bit
Message-ID <qfpqca-qdl.ln1@luuk.invalid.lan> (permalink)
Lines 78
NNTP-Posting-Host 2001:980:9089:1:98e3:d0d5:7f89:3a7a
X-Trace 1375385401 news.xs4all.nl 15950 [2001:980:9089:1:98e3:d0d5:7f89:3a7a]:47205
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.php:10325

Show key headers only | View raw


On 31-07-2013 18:09, J.O. Aho wrote:
> On 31/07/13 13:13, Bruce Lee wrote:
>> HI
>>
>> Suppose I have a php file "read_file.php" that is used to read .txt
>> files, the structure of the folder/files are:
>>
>> /www/read_file.php
>> /www/public/upload/
>>
>> I was wondering which will be faster and why in PHP..
>>
>> Method 1:
>> read file using relative path
>>
>> Eg: get_file_contents("public/upload/test.txt");
>>
>>
>> Method 2:
>> read file using URL (note that the server which is making the request
>> and the server where the file is being read is same)
>>
>> Eg: get_file_contents("http://mydomain.com/public/upload/test.txt");
>>
>>
>> Can someone explain me which is faster and why?
>
> Compare what would happen:
>
> Method 1:
> 1. PHP opens a file.
> 2. Reads file.
> 3. Close file.
>
> Method 2:
> 1. PHP makes a handshake with the webserver
> 2. Web server opens file.
> 3. Web server opens log file (or it's already open, depends on config).
> 4. Web server reads file.
> 5. Web server sends file.
> 6. Web server writes to log.
> 7. PHP receives data
>
> Handshakes are usually time consuming and as the web server will do
> other things too, it will cause overhead.
>
> You could compare the whole with reading a book, I'll present two
> methods and you pick which one is faster:
>
> Method 1:
> You read a book.
>
> Method 2:
> You ask your friend to read a book, write it down on paper and you read
> the written papers.
>
> And if you doubt us, do as Thomas suggests, measure the time consumed,
> test it say 1000 times each method, compare the times.
>
> There is another aspect to it too, error handling will be more
> difficult, as you don't really know why the web server suddenly gives
> you a 404, is the file really gone or just that the web server ain't
> allowed to access it or someone changed the DocumentRoot.
>
> Also the more you do over the net instead of directly, it's more
> difficult to follow what happens in your code and it becomes difficult
> to maintain the code in a proper way, I have seen such code out in the
> live, just for someone thought it was simpler to call another script
> than write the function in a way that you could include the code and use
> it directly.
>

And what about someone else going to:
http://mydomain.com/public/upload/test.txt

With the first method it's possible to store your docs where they are 
not reachable directly from the outside world.....

Back to comp.lang.php | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

Reading a file on same server Bruce Lee <phpzendguru@gmail.com> - 2013-07-31 04:13 -0700
  Re: Reading a file on same server The Natural Philosopher <tnp@invalid.invalid> - 2013-07-31 12:40 +0100
  Re: Reading a file on same server Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-07-31 15:13 +0200
  Re: Reading a file on same server "J.O. Aho" <user@example.net> - 2013-07-31 18:09 +0200
    Re: Reading a file on same server Luuk <luuk@invalid.lan> - 2013-08-01 21:28 +0200

csiph-web