ホームページ > バックエンド開発 > PHPチュートリアル > PHPダウンロード画像の不完全な解決策

PHPダウンロード画像の不完全な解決策

WBOY
リリース: 2016-06-13 13:29:33
オリジナル
1477 人が閲覧しました

PHP ダウンロード画像は不完全です
単一の画像をダウンロードするための単純な PHP ファイルを作成しました:

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php 
$url = $_POST ['url'];
//$url="gallery/ddung/2.jpg";//要下载的图片链接
DownImage($url);

//下载url指向的图片
function DownImage($url) 
{ 
  $mime=getMime($url);
  header("Content-Type: ".$mime);    
  $ext=getExt($url);
  header("Content-Disposition: attachment; filename=".basename($url) );
  header("Content-Transfer-Encoding: binary");
  $fp=file($url);    
  foreach($fp as $fileLine) 
  {
          echo $fileLine;
    }
}

//获取要下载的图片的MIME信息
function getMime($url)
{
  if(preg_match("/\.(jpg|jpeg)$/",$url))
    return "image/jpeg";
  else if(preg_match("/\.(gif)$/",$url))
    return "image/gif";
  else if(preg_match("/\.(png)$/",$url))
    return "image/png";
  else if(preg_match("/\.(bmp)$/",$url))
    return "image/bmp";
  else
    return "err";
}

//获取要下载的图片后缀名
function getExt($url) 
{
    if(preg_match("/\.(jpg|jpeg)$/",$url))
    return "jpg";
  else if(preg_match("/\.(gif)$/",$url))
    return "gif";
  else if(preg_match("/\.(png)$/",$url))
    return "png";
  else if(preg_match("/\.(bmp)$/",$url))
    return "bmp";
  else
    return "err";
}
?>
ログイン後にコピー


送信後、他の人がテストして教えてくれました。 500k の画像 ダウンロードできるのは 200K だけです = =
ただし、ダウンロード サイズに制限はありません~
何が問題なのか教えていただけますか?


-----解決策---------
$fp=file ( $url);
foreach($fp as $fileLine)
{
echo $fileLine;
}



次のように変更します
echo file_get_content

また、コードの前に空白行があります ------解決策-----
画像を読み取るにはファイルを使用しますか??画像も一行です 一行…

file_get_contents で済みます。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート