私はwordpress cmsを使用しており、訪問者が画像をアップロード、サイズ変更、ダウンロードできる小さなスクリプトに取り組んでいます。ダウンロード段階で立ち往生しています。私はすでにほとんどのコードを書いていますが、これらを接続して何らかの形で機能させることができません。これらの最初のものは、基本的に画像のサイズを変更して jpeg ファイルを作成する resize.php です。これは、私の 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);
2 つ目は、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));
3 番目は、私が現在テンプレート ページに持っている html リンクです。ここでも、不足しているコードに対する疑問符です。誰かがリンクをクリックすると、新しく作成されたサイズ変更された画像ファイルを取得することになっています。
<a href="'.get_template_directory_uri().'/resize/download.php???????">DOWNLOAD</a>'
私の問題の要点を理解していただければ幸いです。最近サイズ変更された画像のダウンロード リンクを作成するために、これら 3 つがどのように連携するかを理解するのに苦労しています。私は自分で解決策に苦労していますが、間違いを指摘して修正を提案するのを手伝ってください. ありがとう。
最終更新: 数時間の努力の後、私はこれをソートしました。私が見逃していたのはquery string
と だけだったことに、以前は気づきませんでした$_GET
。このプロセス全体における彼らの役割を理解した後は、すべてがとても簡単でした. 後で画像をダウンロードしたときに、画像が破損していました。破損したファイルを毎回保存し、メモ帳++で開いてエラーをチェックした方法。今、私のアプリケーションは完璧です。もちろん、コードは大幅に変更されています。少しでも興味を持って手伝ってくれたみんなに感謝します。