0

基本的に、ユーザーがファイル名を指定してダウンロードをクリックする入力ボックスがあります。私が望むのは、ユーザーが引用符なしで「.txt」を入力した場合、正確なファイル拡張子のダウンロードファイルが必要ですが、私のコードでは、「txt」ファイル名のような拡張子の指定された名前のファイルを作成したことです。ファイル名「.txt」が欲しい

<?php
$folname = 'createfile';    
$filepath = $_SERVER['DOCUMENT_ROOT'].$folname.'/';

if(isset($_POST['filename']) && !empty($_POST['filename'])){        
    fopen($_POST['filename'],'w');          
    downloadfile($filepath.$_POST['filename'],$_POST['filename']);
}else{
    echo '
            <h1>Enter Filename Or Extension, Download the empty file</h1>
            <form method="post" action="">
                <input type="text" name="filename" id="filename" />
                <input type="submit" name="download" id="download" value="download"/>
            </form>     
    ';
}

function downloadfile($filepath,$filename){ 
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

    header("Content-Type: application/force-download");
    header("Content-Disposition: attachment; filename=".$filename);

    header("Content-Description: File Transfer");
    @readfile($filepath);
    unlink($filepath);      
}?>
4

0 に答える 0