iccup

iccup
Рейтинг
208
Регистрация
01.05.2016

в общем такое предложил он, чтобы не плодить копии -

<?php
$allowedReferer = 'https://domain.com/'; // Замените на адрес вашего сайта
$referer = $_SERVER['HTTP_REFERER'] ?? '';

if (strpos($referer, $allowedReferer) !== 0) {
    // Если реферер не ваш сайт, выводим ошибку и прекращаем выполнение скрипта
    header('HTTP/1.0 403 Forbidden');
    exit('Direct access not allowed.');
}

// Путь к директории для сохранения временных файлов (относительный путь)
$tempDir = 'videostmp/';

// Путь к оригинальному файлу (относительный путь)
$originalFilePath = 'videos/' . $_GET['file'];

// Абсолютный путь к директории временных файлов
$tempDirAbsPath = __DIR__ . '/' . $tempDir;

// Создание директории для временных файлов, если она не существует
if (!is_dir($tempDirAbsPath)) {
    mkdir($tempDirAbsPath, 0755, true);
}

// Получение расширения оригинального файла
$originalExtension = pathinfo($originalFilePath, PATHINFO_EXTENSION);

// Генерация уникального имени файла с расширением
$tempFileName = uniqid() . '.' . $originalExtension;
$tempFilePath = $tempDirAbsPath . $tempFileName;

// Проверяем наличие временного файла
if (file_exists($tempFilePath)) {
    // Обновляем время последнего доступа к файлу
    touch($tempFilePath);
    
    // Выводим прямую ссылку на временный файл
    $tempFileLink = $tempDir . $tempFileName;
    echo 'Download link: <a download href="' . $tempFileLink . '">Download</a>';
} else {
    // Копируем оригинальный файл во временную директорию
    if (copy($originalFilePath, $tempFilePath)) {
        // Установка прав доступа для временного файла
        chmod($tempFilePath, 0644);
        
        // Обновляем время последнего доступа к файлу
        touch($tempFilePath);
        
        // Выводим прямую ссылку на временный файл
        $tempFileLink = $tempDir . $tempFileName;
        echo 'Download link: <a download href="' . $tempFileLink . '">Download</a>';
    } else {
        // Обработка ошибки создания временного файла
        echo 'Error creating temporary file.';
    }
}
?>
LEOnidUKG #:

Функции очистки старых файлов ещё нет.

Спорный момент, я бы лучше md5 делал из названия файла, чтобы в случаи одинаковых файлов, не плодились дубли.

Есть) Просто я не стал ее указывать, машина предложила такое -

<?php

// Путь к директории с временными файлами
$tempDir = 'путь/к/директории/для/сохранения/временных/файлов/';

// Время в секундах, через которое временные файлы будут удалены (например, 1 час - 3600 секунд)
$expiryTime = 3600;

// Получение текущего времени
$currentTimestamp = time();

// Проверка всех файлов в директории
$files = glob($tempDir . '*');
foreach ($files as $file) {
    // Получение времени создания файла
    $fileCreationTime = filectime($file);
    
    // Проверка, если файл создан раньше, чем указанное время удаления
    if ($currentTimestamp - $fileCreationTime >= $expiryTime) {
        // Удаление файла
        unlink($file);
    }
}

Ну и крон чтобы выполнять это все -

0 * * * * php /путь/к/delete_temp_files.php
По поводу копий, да это так. Учитывая что они будут удаляться каждый час, это нормально. Да, и если допусстим скрипт не будет создавать файл потомучто он как бы уже есть (создан ранее) и оставит как есть, то есть вероятность что пользователь не успеет докачать файл и он удалится по крону.
<?php

// Путь к директории для сохранения временных файлов (относительный путь)
$tempDir = 'videotmp/';

// Путь к оригинальному файлу (относительный путь)
$originalFilePath = 'video/' . $_GET['file'];

// Абсолютный путь к директории временных файлов
$tempDirAbsPath = __DIR__ . '/' . $tempDir;

// Получение расширения оригинального файла
$originalExtension = pathinfo($originalFilePath, PATHINFO_EXTENSION);

// Генерация уникального имени файла с расширением
$tempFileName = uniqid() . '.' . $originalExtension;
$tempFilePath = $tempDirAbsPath . $tempFileName;

// Создание временного файла
if (copy($originalFilePath, $tempFilePath)) {
    // Установка прав доступа для временного файла
    chmod($tempFilePath, 0644);
    
    // Вывод прямой ссылки на временный файл
    $tempFileLink = $tempDir . $tempFileName;
    echo 'Ссылка для скачивания: <a href="' . $tempFileLink . '">Скачать</a>';
} else {
    // Обработка ошибки создания временного файла
    echo 'Ошибка создания временного файла.';
}
?>
Пообщался немного с CHatGPT, и черт побери, работает. Какой же кайф.
возможно это взломанные сайты, а ваши картинки использовались (парсились из гугла) как контент для сгенерированных страниц (вставлялись хотлинком).
intuit #:
ТС, с чего ты взял? Ни одного достоверного источника нет, что Пузат учит крипте, один какой-то левый лендос не понятно чей.

https://start.bizon365.ru/room/83022/f89113f5dab9

я все вспоминаю нытиков из фильма Американцы, все у них не так и не то, но приезжает к ним очень крутой чувак и объясняет им что они полные засранцы и нытики. Хоть это и художественный фильм, но думаю это применимо к нашей ситуации.
я понял что вы неудачник который не может зарабатывать в интернете на сайтах. Это ваши проблемы, не демотивируйте остальных своим нытьем.
S_E_O Алексей - Строительные ссылки #:

Есть, конечно, кто добивался, но с уходом Адсенса все его курсы про сайты превратились в тыкву. Был бы мега спец, а не инфоцыган, то запилил бы курс по бурж сайтам. А так - чтобы жить на том же уровне, решил поинфоцыганить на крипте. А это уже, по большей части, лохотрон.

лол, интернет рынок в ру сегменте вырос значительно в прошлом году, в стране крутятся триллионы рублей, смешно слышать что тут ловить нечего

S_E_O Алексей - Строительные ссылки #:

Роман будет, в отличие от своих учеников). Вы адепт, что вижу, Пузата? Вы забываете только реф-ссылку добавить. Или сначала аудиторию прогреваете?

не мог пройти мимо, не люблю когда порядочных людей поносят бездоказательно.
plab #:

Которые оплачивают ему глупцы, верящие в кнопку "бабло", обещанную Романом, после прохождения его курсов. 

Роман зарабатывает на самой древней профессии. Имею в виду религию. 

а в чем они глупцы? Роман дает инструмент, он обучает, дает тематику, алгоритм действий, у него куча успешных учеников, если бы это были фейки, то давно уже разоблачили бы за 10 лет его работы.  А то что не 100 процентов добиваются чего-то так это нормально, в школе тоже есть отличники, хорошисты и двоишники.
Всего: 1370