Предотвратить Opera кеширование mp3 - PullRequest
1 голос
/ 19 августа 2010

снова я пытаюсь предотвратить кеширование mp3 файлов с моего сайта. Я использую Flash Player, все файлы находятся за пределами публичного HTML Я использую этот скрипт для доступа к файлам

<?php

$file = $_GET['file'] . '.mp3';
 $fileDir = '/path/outside/public_html/';

if (file_exists($fileDir . $file))
{
    ob_start();

    $contents = file_get_contents($fileDir . $file);

    echo $contents;

    $buffer = ob_get_contents();

    ob_end_flush();

    header('Expires: Mon, 26 Jul 1980 00:00:00 GMT');
    header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
    header('Cache-Control: post-check=0, precheck=0', false);
    header('Pragma: no-cache');
    header('Content-type: audio/mpeg');

    echo $buffer;

} ?>

Я php noob, так что этот скрипт, вероятно, глючит, но он работает ... Почти у меня проблема с предотвращением кеширования файлов в Opera - он все еще кеширует mp3-файлы. Я видел какое-то решение: когда я воспроизводил файлы с сайта, файл загружался в кеш, но после полной загрузки файл автоматически удалялся. Нет времени копировать этот файл. Итак, мой вопрос: как это сделать? Это возможно с php?

1 Ответ

0 голосов
/ 19 августа 2010

Эта проблема может быть вызвана самим сервером, чтобы предотвратить кэширование файлов, попробуйте добавить какой-либо дополнительный параметр к имени файла, например:

$file = $_GET['file'] . '.mp3?' . time();
...