簡體   English   中英

使用PHP下載多個文件

[英]Multiple files download using PHP

我正在嘗試使用PHP下載多個文件。 我知道只能使用zip存檔來完成此操作,但是我不希望所有目錄和子目錄都包含在下載的文件夾中,我只需要這些文件。

我嘗試使用“ basename()”,但這樣做時不會下載任何內容,以下是我的代碼。

我還嘗試制作僅使用“ basename()”提取的文件名組成的新數組,但仍無法下載。

        if ( extension_loaded( 'zip' ) ) {
        $zipFolder = new ZipArchive();
        $zipName = time().".zip";

        if ( $zipFolder->open( $zipName, ZIPARCHIVE::CREATE ) !== TRUE ) {
            echo "Sorry ZIP creation failed at this time";
        }

        foreach ( $filepathArray as $f ) {
            $zipFolder->addFile($f);
        }

        $zipFolder->close();

        if ( file_exists( $zipName ) ) {
            header( 'Content-type: application/zip' );
            header( 'Content-Disposition: attachment; filename="' . $zipName . '"' );
            readfile( $zipName );
            unlink( $zipName );
        }
    }

是我的儀表板截圖:

如您所見,路徑很長,因此我不需要所有這些文件夾,我只需要文件。

HTTP一次下載不支持多個文件。 因此,使用javascript超時制作基本頁面,該超時將用戶一次重定向到每個文件。

例:

   <script type="text/javascript">
    var file_list = new Array(
      'http://www.example.com/filename1.file',
      'http://www.example.com/filename2.file',
      'http://www.example.com/filename3.file'
    );
    for (var i=0; i < file_list.length - 1; i++) {
      setTimeout(function () {
         document.location = file_list[i];
      }, i * 1000);
    }
    </script>

    <h1>Please wait</h1>
    <p>Your download will start in a moment.</p>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM