php file upload and download source code
Last Update:2016-06-04
Source: Internet
Author: User
<span id="Label3"></p><p><p> <strong>first, File Upload</strong></p></p><p><p><strong>Front page:</strong></p></p><pre><span style="color: #0000ff;"><span style="color: #0000ff;"><!</span></span><span style="color: #ff00ff;"><span style="color: #ff00ff;">DOCTYPE HTML</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">HTML</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">Head</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">Meta</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">CharSet</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "utf-8"</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">title</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span>File Upload<span style="color: #0000ff;"><span style="color: #0000ff;"></</span></span><span style="color: #800000;"><span style="color: #800000;">title</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></</span></span><span style="color: #800000;"><span style="color: #800000;">Head</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">Body</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">Div</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">form</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">Method</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "post"</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">Action</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "upload.php"</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">enctype</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "multipart/form-data"</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #000000;"><span style="color: #000000;">User name</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">input</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">type</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "text"</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">name</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "username"</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></</span></span><span style="color: #800000;"><span style="color: #800000;">input</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">BR</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #000000;"><span style="color: #000000;">File Brief Introduction</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">BR</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">><</span></span><span style="color: #800000;"><span style="color: #800000;">textarea</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">name</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "fileintro"</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">rows</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "8"</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">cols</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "</span> the"</span><span style="color: #0000ff;"><span style="color: #0000ff;">></</span></span><span style="color: #800000;"><span style="color: #800000;">textarea</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">BR</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span>Select a file to upload<span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">BR</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">><</span></span><span style="color: #800000;"><span style="color: #800000;">input</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">type</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "file"</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">name</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "myfile"</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></</span></span><span style="color: #800000;"><span style="color: #800000;">input</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">><</span></span><span style="color: #800000;"><span style="color: #800000;">BR</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"><</span></span><span style="color: #800000;"><span style="color: #800000;">input</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">type</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "submit"</span></span><span style="color: #ff0000;"><span style="color: #ff0000;">value</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">= "upload file"</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></</span></span><span style="color: #800000;"><span style="color: #800000;">input</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"></</span></span><span style="color: #800000;"><span style="color: #800000;">form</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></</span></span><span style="color: #800000;"><span style="color: #800000;">Div</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></</span></span><span style="color: #800000;"><span style="color: #800000;">Body</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></</span></span><span style="color: #800000;"><span style="color: #800000;">HTML</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">></span></span></pre><p><p> <strong>Background processing:</strong></p></p><pre><?<span style="color: #000000;"><span style="color: #000000;">PHP</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">receive information about submitting a page transfer</span></span><span style="color: #800080;"><span style="color: #800080;">$name</span></span>=<span style="color: #800080;"><span style="color: #800080;">$_post</span></span>[' username '<span style="color: #000000;"><span style="color: #000000;">];</span></span><span style="color: #800080;"><span style="color: #800080;">$intro</span></span>=<span style="color: #800080;"><span style="color: #800080;">$_post</span></span>[' Fileintro '<span style="color: #000000;"><span style="color: #000000;">];</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">$_files The relevant information of the File//echo "<pre>";//print_r ($_files);//echo "</pre>";//you can limit the file size here</span></span><span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">$filesize = $_files[' myfile ' [' size '];if ($filesize >2*1024*1024) {echo "file too large to upload"; Exit ();}</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span> <span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">file types can be restricted</span></span> <span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">$filetype = $_files[' myfile ' [' type ']; if ($filetype! = ' image/jpg ' && $filetype! = ' application/pdf ') {echo " File types can only be JPG and PDF "; Exit (); }</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(<span style="color: #008080;"><span style="color: #008080;">Is_uploaded_file</span></span>(<span style="color: #800080;"><span style="color: #800080;">$_files</span></span>[' myfile '] [' Tmp_name '<span style="color: #000000;"><span style="color: #000000;">])) { </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">dump the files into the directory you want to store</span></span> <span style="color: #800080;"><span style="color: #800080;">$uploaded</span></span>=<span style="color: #800080;"><span style="color: #800080;">$_files</span></span>[' myfile '] [' Tmp_name '<span style="color: #000000;"><span style="color: #000000;">]; </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Each user dynamically creates a folder</span></span> <span style="color: #800080;"><span style="color: #800080;">$userpath</span></span>=<span style="color: #800080;"><span style="color: #800080;">$_server</span></span>[' document_root ']. " /up/".<span style="color: #800080;"><span style="color: #800080;">$name</span></span><span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">determine if the user already has a folder</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(!<span style="color: #008080;"><span style="color: #008080;">file_exists</span></span>(<span style="color: #800080;"><span style="color: #800080;">$userpath</span></span><span style="color: #000000;"><span style="color: #000000;">)){ </span></span><span style="color: #008080;"><span style="color: #008080;">mkdir</span></span>(<span style="color: #800080;"><span style="color: #800080;">$userpath</span></span><span style="color: #000000;"><span style="color: #000000;">); } </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">prevents the same user from uploading a file with the same name, adding a timestamp to the File. $moveto = $userpath. " /". time (). $_files[' myfile ' [' name ']; or modify the file name, but you need to use string processing to intercept the filename suffix</span> .</span> <span style="color: #800080;"><span style="color: #800080;">$truename</span></span>=<span style="color: #800080;"><span style="color: #800080;">$_files</span></span>[' myfile '] [' name '<span style="color: #000000;"><span style="color: #000000;">]; </span></span><span style="color: #800080;"><span style="color: #800080;">$moveto</span></span>=<span style="color: #800080;"><span style="color: #800080;">$userpath</span></span>." /".<span style="color: #008080;"><span style="color: #008080;"></span> time</span>().<span style="color: #008080;"><span style="color: #008080;">substr</span></span>(<span style="color: #800080;"><span style="color: #800080;">$truename</span></span>,<span style="color: #008080;"><span style="color: #008080;">Strrpos</span></span>(<span style="color: #800080;"><span style="color: #800080;">$truename</span></span>,"."<span style="color: #000000;"><span style="color: #000000;">)); </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(<span style="color: #008080;"><span style="color: #008080;">Move_uploaded_file</span></span>(<span style="color: #800080;"><span style="color: #800080;">$uploaded</span></span>,<span style="color: #008080;"><span style="color: #008080;">Iconv</span></span>("utf-8", "gb2312",<span style="color: #800080;"><span style="color: #800080;">$moveto</span></span><span style="color: #000000;"><span style="color: #000000;">))){ </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Echo</span></span>"upload file".<span style="color: #800080;"><span style="color: #800080;">$_files</span></span>[' myfile '] [' name ']. " Success<span style="color: #000000;"><span style="color: #000000;">; }</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Else</span></span><span style="color: #000000;"><span style="color: #000000;">{ </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Echo</span></span>"upload file".<span style="color: #800080;"><span style="color: #800080;">$_files</span></span>[' myfile '] [' name ']. " Failed<span style="color: #000000;"><span style="color: #000000;">; }}</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Else</span></span><span style="color: #000000;"><span style="color: #000000;">{ </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Echo</span></span>"upload file".<span style="color: #800080;"><span style="color: #800080;">$FILES</span></span>[' myfile '] [' name ']. " Failed<span style="color: #000000;"><span style="color: #000000;">;}</span></span>?></pre><p><p> <strong>second, the file download:</strong></p></p><p><p><strong>Single File Download:</strong></p></p><pre><?<span style="color: #000000;"><span style="color: #000000;">PHP</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">function</span></span>Down_file (<span style="color: #800080;"><span style="color: #800080;">$file _name</span></span>,<span style="color: #800080;"><span style="color: #800080;">$file _path</span></span><span style="color: #000000;"><span style="color: #000000;">){ </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">$file _name = iconv ("uft-8", "gb2312", $file _name); If the file name is in chinese, the Chinese name needs to be transcoded gb2312//the file to be downloaded reads into the Server's memory//the server returns the file data to the Browser//browser writes the file to the User-specified location//1. determine if a file exists</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(!<span style="color: #008080;"><span style="color: #008080;">file_exists</span></span>(<span style="color: #800080;"><span style="color: #800080;">$file _name</span></span><span style="color: #000000;"><span style="color: #000000;">)){ </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Echo</span></span>"111"<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span><span style="color: #000000;"><span style="color: #000000;"> ; } </span></span><span style="color: #800080;"><span style="color: #800080;">$fp</span></span>=<span style="color: #008080;"><span style="color: #008080;">fopen</span></span>(<span style="color: #800080;"><span style="color: #800080;">$file _name</span></span>, "r"<span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #800080;"><span style="color: #800080;">$file _size</span></span>=<span style="color: #008080;"><span style="color: #008080;">filesize</span></span>(<span style="color: #800080;"><span style="color: #800080;">$file _name</span></span><span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">get file size//can limit browser download file size via File_size. The returned file</span></span> <span style="color: #008080;"><span style="color: #008080;">Header</span></span>("content-type:application/octet-stream"<span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">return by byte size</span></span> <span style="color: #008080;"><span style="color: #008080;">Header</span></span>("accept-ranges:bytes"<span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">return file Size</span></span> <span style="color: #008080;"><span style="color: #008080;">Header</span></span>("accept-length:<span style="color: #800080;"><span style="color: #800080;">$file _size</span></span>"<span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Client Pop-up dialog box, corresponding file name</span></span> <span style="color: #008080;"><span style="color: #008080;">Header</span></span>("content-disposition:attachment;filename=".<span style="color: #800080;"><span style="color: #800080;">$file _name</span></span><span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #800080;"><span style="color: #800080;">$buffer</span></span>= 1024<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">define buffers//to Download the security, It is best to use the file byte read counter</span></span> <span style="color: #800080;"><span style="color: #800080;">$file _count</span></span>= 0<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">feof used to determine whether a file is read to the end of a document</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"></span> while</span>(!<span style="color: #008080;"><span style="color: #008080;">feof</span></span>(<span style="color: #800080;"><span style="color: #800080;">$fp</span></span>) && (<span style="color: #800080;"><span style="color: #800080;">$file _size</span></span>-<span style="color: #800080;"><span style="color: #800080;">$file _count</span></span>>0<span style="color: #000000;"><span style="color: #000000;">)){ </span></span><span style="color: #800080;"><span style="color: #800080;">$file _data</span></span>=<span style="color: #008080;"><span style="color: #008080;">fread</span></span>(<span style="color: #800080;"><span style="color: #800080;">$fp</span></span>,<span style="color: #800080;"><span style="color: #800080;">$buffer</span></span><span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">How many bytes did the statistic read</span> ?</span> <span style="color: #800080;"><span style="color: #800080;">$file _count</span></span>+<span style="color: #800080;"><span style="color: #800080;">$buffer</span></span><span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Echo</span></span> <span style="color: #800080;"><span style="color: #800080;">$file _data</span></span><span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">send some data to the browser</span></span><span style="color: #000000;"><span style="color: #000000;"> } </span></span><span style="color: #008080;"><span style="color: #008080;">fclose</span></span>(<span style="color: #800080;"><span style="color: #800080;">$fp</span></span><span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Close File</span></span><span style="color: #000000;"><span style="color: #000000;"> }</span></span>?></pre><p><p> <strong>Multiple file Downloads:</strong></p></p><p><p><strong>Downlist.php:</strong></p></p><pre><pre><a href= "downprocess.php?filename=1.jpg" >down</a> <br><br><a href= "downprocess.php?filename=2.jpg" >down</a><br><br><a href= "downprocess.php?filename=3.jpg" >down</a><br><br><a href=" downprocess.php?filename=4.jpg ">down</ A><br><br></pre></pre><p><p> <strong>Downprocess.php:</strong></p></p><pre><?<span style="color: #000000;"><span style="color: #000000;">PHP</span></span><span style="color: #800080;"><span style="color: #800080;">$filename</span></span>=<span style="color: #800080;"><span style="color: #800080;">$_request</span></span>[' filename '<span style="color: #000000;"><span style="color: #000000;">]; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">function</span></span>Down_file (<span style="color: #800080;"><span style="color: #800080;">$file _name</span></span><span style="color: #000000;"><span style="color: #000000;">){ </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>(!<span style="color: #008080;"><span style="color: #008080;">file_exists</span></span>(<span style="color: #800080;"><span style="color: #800080;">$file _name</span></span><span style="color: #000000;"><span style="color: #000000;">)){ </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Echo</span></span>"111"<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span><span style="color: #000000;"><span style="color: #000000;"> ; } </span></span><span style="color: #800080;"><span style="color: #800080;">$fp</span></span>=<span style="color: #008080;"><span style="color: #008080;">fopen</span></span>(<span style="color: #800080;"><span style="color: #800080;">$file _name</span></span>, "r"<span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #800080;"><span style="color: #800080;">$file _size</span></span>=<span style="color: #008080;"><span style="color: #008080;">filesize</span></span>(<span style="color: #800080;"><span style="color: #800080;">$file _name</span></span><span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #008080;"><span style="color: #008080;">Header</span></span>("content-type:application/octet-stream"<span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">return by byte size</span></span> <span style="color: #008080;"><span style="color: #008080;">Header</span></span>("accept-ranges:bytes"<span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">return file Size</span></span> <span style="color: #008080;"><span style="color: #008080;">Header</span></span>("accept-length:<span style="color: #800080;"><span style="color: #800080;">$file _size</span></span>"<span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Client Pop-up dialog box, corresponding file name</span></span> <span style="color: #008080;"><span style="color: #008080;">Header</span></span>("content-disposition:attachment;filename=".<span style="color: #800080;"><span style="color: #800080;">$file _name</span></span><span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #800080;"><span style="color: #800080;">$buffer</span></span>= 1024<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">Defining Buffers</span></span> <span style="color: #800080;"><span style="color: #800080;">$file _count</span></span>= 0<span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">feof used to determine whether a file is read to the end of a document</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"></span> while</span>(!<span style="color: #008080;"><span style="color: #008080;">feof</span></span>(<span style="color: #800080;"><span style="color: #800080;">$fp</span></span>) && (<span style="color: #800080;"><span style="color: #800080;">$file _size</span></span>-<span style="color: #800080;"><span style="color: #800080;">$file _count</span></span>>0<span style="color: #000000;"><span style="color: #000000;">)){ </span></span><span style="color: #800080;"><span style="color: #800080;">$file _data</span></span>=<span style="color: #008080;"><span style="color: #008080;">fread</span></span>(<span style="color: #800080;"><span style="color: #800080;">$fp</span></span>,<span style="color: #800080;"><span style="color: #800080;">$buffer</span></span><span style="color: #000000;"><span style="color: #000000;">); </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">How many bytes did the statistic read</span> ?</span> <span style="color: #800080;"><span style="color: #800080;">$file _count</span></span>+<span style="color: #800080;"><span style="color: #800080;">$buffer</span></span><span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Echo</span></span> <span style="color: #800080;"><span style="color: #800080;">$file _data</span></span><span style="color: #000000;"><span style="color: #000000;">; </span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">send some data to the browser</span></span><span style="color: #000000;"><span style="color: #000000;"> } </span></span><span style="color: #008080;"><span style="color: #008080;">fclose</span></span>(<span style="color: #800080;"><span style="color: #800080;">$fp</span></span><span style="color: #000000;"><span style="color: #000000;">); } down_file (</span></span><span style="color: #800080;"><span style="color: #800080;">$filename</span></span><span style="color: #000000;"><span style="color: #000000;">);</span></span>?></pre><p><p></p></p><p><p>php file upload and download source code</p></p></span>