0

我使用 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。在我了解了他们在整个过程中的作用之后,一切都很容易。后来,当我下载图像时,它们出现了损坏。我如何排序我每次都保存损坏的文件,在记事本++中打开它们并检查错误。现在我的应用程序完美无缺。当然,现在代码发生了巨大的变化。感谢大家对他们提供帮助的任何一点兴趣。

4

0 回答 0