创建图像下载链接

时间:2013-11-04 20:00:00

标签: php wordpress

我使用wordpress cms并且我正在制作一个小脚本,其中访问者可以上传图像,调整大小和下载。我陷入了下载阶段。我已经编写了大部分代码,但我无法将这些内容连接在一起以使其以某种方式工作。其中首先是resize.php,它基本上调整了图像的大小并创建了一个jpeg文件。这是我的resize.php中的一些相关片段。

<?php  
       //normal validation stuff happens here
       //resizing stuff happens here

    //here is last part of the code that creates the resized image

    $filename = uniqid();
    $file = 'uploads/'.$filename.'.jpeg';   
    imagejpeg($new, $file, 80); 
    imagedestroy($new);

第二是download.php。这是我的download.php中的代码。如果你在代码中看到很多问号,那就意味着我确信这些是我缺少的代码。

// ????????????
    $FilePath = TEMPLATEPATH. '/resize/uploads/';  
    $final = $FilePath . $FileName;

    $size = filesize($final) ;
    header("Content-Disposition: attachment; filename=\"". $FileName ."\"");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Transfer-Encoding: binary");
    header('Content-Description: File Transfer');
    header("Content-Length: ". $size ."");
    header('Content-Type: image/jpeg');
    header("Expires: 0");
    header("Pragma: no-cache");
    ob_clean();
    flush();
    echo (readfile($final));

第三是我目前在模板页面上的html链接,也是缺少代码的问号。如果有人点击链接,他们应该获得新创建的已调整大小的图像文件。

<a href="'.get_template_directory_uri().'/resize/download.php???????">DOWNLOAD</a>' 

我希望你能解决我的问题。我正在努力弄清楚这三者如何协同工作,为最近调整大小的图像创建下载链接。虽然我自己正在努力寻求解决方案,但请帮我指出错误并提出更正建议。谢谢。


最终更新:经过几个小时的努力,我现在整理了。我之前没有意识到我唯一遗漏的是query string$_GET。在我理解了他们在整个过程中的角色后,一切都很简单。后来当我下载图像时,它们出现了腐败现象。我如何排序我每次保存损坏的文件,在记事本++中打开它们并检查错误。现在我的申请完美无瑕。当然,代码现在已经彻底改变了。感谢所有人,无论他们有什么兴趣,他们都会提供帮助。

0 个答案:

没有答案