You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.6 KiB
58 lines
1.6 KiB
<?php
|
|
|
|
class PMXE_Download
|
|
{
|
|
|
|
static public function zip($file_name)
|
|
{
|
|
$uploads = wp_upload_dir();
|
|
$bundle_url = $uploads['baseurl'] . str_replace($uploads['basedir'], '', $file_name);
|
|
$bundle_url = str_replace( "\\", "/", $bundle_url );
|
|
wp_redirect($bundle_url);
|
|
die;
|
|
}
|
|
|
|
static public function xls($file_name)
|
|
{
|
|
self::sendFile("Content-Type: application/vnd.ms-excel; charset=UTF-8", $file_name);
|
|
}
|
|
|
|
static public function xlsx($file_name)
|
|
{
|
|
self::sendFile("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8", $file_name);
|
|
}
|
|
|
|
static public function csv($file_name)
|
|
{
|
|
self::sendFile("Content-Type: text/plain; charset=UTF-8", $file_name);
|
|
}
|
|
|
|
static public function txt($file_name)
|
|
{
|
|
self::sendFile("Content-Type: text/plain; charset=UTF-8", $file_name);
|
|
}
|
|
|
|
static public function xml($file_name)
|
|
{
|
|
self::sendFile("Content-Type: application/xhtml+xml; charset=UTF-8", $file_name);
|
|
}
|
|
|
|
static public function sendFile($header, $file_name)
|
|
{
|
|
// If we ar testing don't sent it as attachment
|
|
if (php_sapi_name() != 'cli-server') {
|
|
header($header);
|
|
header("Content-Disposition: attachment; filename=\"" . basename($file_name) . "\"");
|
|
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
|
|
header("Cache-Control: post-check=0, pre-check=0", false);
|
|
header("Pragma: no-cache");
|
|
}
|
|
while (ob_get_level()) {
|
|
ob_end_clean();
|
|
}
|
|
|
|
readfile($file_name);
|
|
die;
|
|
}
|
|
|
|
} |