php生成的图片如何保存为jpg

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php生成的图片如何保存为jpg相关的知识,希望对你有一定的参考价值。

图片由一个php文件控制
生成图片后,点击保存图片,却出现的是php文件,不是jpg

参考技术A 文件名:do.jpg追问

nonono,没有这个文件

追答

保存类型看到了吗,里面有

追问

没有,只有个php

本回答被提问者采纳

php如何实现图片点击下载,并保存本地?-----本例子为二维码的生成图片,并支持点击下载

 

###

  今天因为工作需要,完成了一个二维码的生成图片,并支持点击下载的

###

 

控制器文件,相关代码

 1  // 生成二维码
 2         $url = action(‘Apih5\\[email protected]‘, [‘provider‘ => $request->channel]);
 3 // 保存二维码到本地,并返回二维码
 4         $qrcode = $this->app[‘version‘]->qrcode($url);
5 $dir_path = ‘../public/static/versionChannel/‘; 6 $fileName = $request->channel.‘.png‘; 7 $qrcode = base64_decode( $qrcode); 8 // 保存到本地,如果不存在文件,则创建新的 9 $this->app[‘version‘]->saveVersionQrcode($qrcode, $dir_path, $fileName); 10 11 // 保存二维码到本地,并返回二维码 12 $qrcode = $this->app[‘version‘]->qrcode($request->channel, $url);

后台实现下载的控制器

 1 <?php
 2 
 3 namespace App\Http\Controllers\Apih5;
 4 
 5 use Illuminate\Http\Request;
 6 
 7 use App\Http\Requests;
 8 use App\Http\Controllers\Controller;
 9 
10 class VersionController extends Controller
11 {
12     //版本二维码下载
13     public function download($provider, Request $request)
14     {
15         // 下载二维码
16         $contenttype = ‘image/jpeg‘;
17         $dir_path = ‘../public/static/versionChannel/‘;
18         $fileName = $provider.‘.png‘;
19         $fileurl = $dir_path.$fileName;
20 
21         header("Cache-control: private");
22         header("Content-type: $contenttype"); //设置要下载的文件类型
23         header("Content-Length:" . filesize($fileurl)); //设置要下载文件的文件大小
24         header("Content-Disposition: attachment; filename=" . urldecode($fileName)); //设置要下载文件的文件名
25 
26         readfile($fileurl);
27 
28     }
29 }

 

方法所在文件

 1  /**
 2      * 生成二维码 for apih5/VersionController
 3      * @param  [type] $id [description]
 4      * @return [type]     [description]
 5      */
 6     public function qrcode($url)
 7     {
 8         $qrcode = new QrcodeHelper;
 9         $qrcode = $qrcode->getVersionChannelQr($url);
10 
11         return  $qrcode;
12     }
13 
14     /**
15     *  保存二维码到本地文件夹
16     */
17     public function saveVersionQrcode($qrcodeData, $dir_path, $fileName)
18     {
19         // 判断目录是否存在,不存在则生成
20         if (!file_exists($dir_path) ) {
21             mkdir("$dir_path",0777, true);
22         }
23         $fileurl = $dir_path.$fileName;
24         // 保存到本地,如果不存在文件,则创建新的
25         file_put_contents($fileurl, $qrcodeData, FILE_USE_INCLUDE_PATH);
26     }

前台试图

显示二维码图片的位置

1  <td>
2 
3       <a href="{{ action(‘Apih5\\[email protected]‘,[‘provider‘ => $version->channel]) }}" >
4           <img width="100px" src="{{url(‘/static/versionChannel/‘.$version->channel.‘.png‘)}}"/>
5       </a>
6 </td>

 


以上是关于php生成的图片如何保存为jpg的主要内容,如果未能解决你的问题,请参考以下文章

急求:如何将 WPF ChartControl生成的图片保存到本地为jpg格式

php 图片base64编码生成dataurl和保存为图片

php 给图片添加文字或图片 并实现保存,,急救!!

PHP怎么把图片数据保存为jpg图片到服务器目录

怎么样让PHP组合多张图片并生成保存到指定目录?

请问如何把图片保存为JPG和BMP