0

このスタイルのコーディングを使用して、MYSQL データベースにファイルを配置しました。きちんと保管されているので安心です

if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0)
{
$fileName = $_FILES['userfile']['name'];
$tmpName  = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];

$fp      = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);

if(!get_magic_quotes_gpc())
{
    $fileName = addslashes($fileName);
}

しかし、データベースからのダウンロードに問題があり、ヘッダーが間違っています。

$resumename = get_the_author_meta('resumename', $current_user->ID); 
$resumetype = get_the_author_meta('resumetype', $current_user->ID); 
$resumesize = get_the_author_meta('resumesize', $current_user->ID); 
$content = get_the_author_meta('resumecontent', $current_user->ID);

header("Content-Length: $resumesize");
header("Content-Type: $resumetype");
header("Content-Disposition: attachment; filename=$resumename");

echo($content);

現時点では、ページの破損したファイルが返されます (ファイル データではなく、ヘッダーを使用して実際のページ データを読み込んでいます)。

これに使用する正しいヘッダーを知っている人はいますか? 私は@readfileを試しましたが、さらに悪いです。ファイルの種類は、主に doc、pdf、rtf になります。助けてくれてありがとう!

4

1 に答える 1

0
 header("Content-Description: File Transfer");
 header("Content-Disposition: attachment; filename=$resumename");
 header("Content-Type: $MIME_Type"); //you can use application/pdf for PDF
 header("Content-Transfer-Encoding: binary");
于 2012-05-26T14:15:06.210 に答える