簡體   English   中英

無法在php中下載文件

[英]Am not able to download file in php


警告 :fopen(images /):無法打開流:第91行的C:\\ xampp \\ htdocs \\ phpsamp \\ download1.php中沒有此類文件或目錄
錯誤-無法打開文件。 正在嘗試從c:\\ xammpp \\ htdocs \\下載文件,但出現以下錯誤

   <?php
    function output_file($file, $name, $mime_type='')
    {

    if(!is_readable($file)) die('File not found or inaccessible!');
    echo "coon";

    $size = filesize($file);
    $name = rawurldecode($name);


   $known_mime_types=array(
"pdf" => "application/pdf",
"txt" => "text/plain",
"html" => "text/html",
"htm" => "text/html",
"exe" => "application/octet-stream",
"zip" => "application/zip",
"doc" => "application/msword",
"xls" => "application/vnd.ms-excel",
"ppt" => "application/vnd.ms-powerpoint",
"gif" => "image/gif",
"png" => "image/png",
"jpeg"=> "image/jpg",
"jpg" =>  "image/jpg",
"php" => "text/plain"
      );

        if($mime_type==''){
    $file_extension = strtolower(substr(strrchr($file,"."),1));
     if(array_key_exists($file_extension, $known_mime_types)){
        $mime_type=$known_mime_types[$file_extension];
     } else {
            $mime_type="application/force-download";
     };
         };


          @ob_end_clean(); 


          if(ini_get('zlib.output_compression'))
          ini_set('zlib.output_compression', 'Off');

           header('Content-Type: ' . $mime_type);
           header('Content-Disposition: attachment; filename="'.$name.'"');
           header('Accept-Ranges: bytes');


         header("Cache-control: private");
           header('Pragma: private');
               header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");


            if(isset($_SERVER['HTTP_RANGE']))
         {
       list($a, $range) = explode("=",$_SERVER['HTTP_RANGE'],2);
        list($range) = explode(",",$range,2);
          list($range, $range_end) = explode("-", $range);
            $range=intval($range);
             if(!$range_end) {
                $range_end=$size-1;
              } else {
    $range_end=intval($range_end);
   }

   $new_length = $range_end-$range+1;
    header("HTTP/1.1 206 Partial Content");
    header("Content-Length: $new_length");
   header("Content-Range: bytes $range-$range_end/$size");
       } else {
$new_length=$size;
header("Content-Length: ".$size);
       }


        $chunksize = 4*(1024*1024); 
       $bytes_send = 0;
        if ($file = fopen($file, 'r'))
       {
     if(isset($_SERVER['HTTP_RANGE']))
     fseek($file, $range);

       while(!feof($file) && 
    (!connection_aborted()) && 
    ($bytes_send<$new_length)
      )
       {
    $buffer = fread($file, $chunksize);
    print($buffer); //echo($buffer); // can also possible
    flush();
    $bytes_send += strlen($buffer);
         }
           fclose($file);
          } else
        //If no permissiion
         die('Error - can not open file.');
           //die
          die();
          }
        //Set the time out
         set_time_limit(0);

          //path to the file
          $file_path='images/'.$_REQUEST['hug_a_tree_desktop-background.jpg'];


             //Call the download function with file path,file name and file type
               output_file($file_path, ''.$_REQUEST['hug_a_tree_desktop-                      background.jpg'].'', 'text/plain');?>
fopen(images/): failed to open stream: No such file or directory in 
C:\xampp\htdocs\phpsamp\download1.php on line 91

我想如果您看一下這條路,您會自己看到錯誤。 文件夾很少位於.php文件中。 $ file變量中存儲了錯誤的值。

並且不要對標題進行太多修改,以免不必要。

哦,重構您的代碼...在我看來,這很難閱讀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM