Rumah > pembangunan bahagian belakang > tutorial php > php下载图片不完整解决方案

php下载图片不完整解决方案

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-13 13:29:33
asal
1509 orang telah melayarinya

php下载图片不完整
写了一个简易的下载单张图片的PHP文件:

PHP code

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

<!--

 

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";

}

?>

Salin selepas log masuk


提交后别人测试告诉我500k的图片只能下载200K = =
可是我没有限制下载大小啊~
请问大家可能是什么问题呢?


------解决方案--------------------
$fp=file($url);
foreach($fp as $fileLine) 
{
echo $fileLine;
}



改成这样看看
echo file_get_content

还有,前面不能有输出,你的代码最前一行 ------解决方案--------------------
读图片用file?? 原来图片也是一行一行的...

file_get_contents就行了。
Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan