php HLTV Downloader

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
18
Реакции
10
Помог
1 раз(а)
Здравствуйте. Установлен хлтв сервер + есть скрипт на сайте. Хостинг сайта и сервера находятся отдельно. Демки качаются нормально вот только качает ту демку которая записывается, по идее не должно скачиватся. Время на хостинге сервера и сайта одно и тоже.
PHP:
<?php
header('Content-type: text/html; charset=utf-8');
define('GUARD', true);
include 'inc/config.php';

try {
    include 'inc/function_zipcompressfile.php';

    for($i=1; $i<=sizeof($server); $i++)
    {
        $handle = @opendir($server[$i]['patch']);
        if ($handle)
        {
            if(!file_exists('files/server_'.$i.'/')) mkdir('files/server_'.$i.'/', 0777);
        $etime = 180; //проверка времени изменения файла-не закачивать текущую демку
                while (false !== ($files = readdir($handle)))
                if (preg_match("/(.*).dem/", $files) ) {

        $stime=time();
        $ftime = filemtime($server[$i]['patch'].$files);
        $time=$stime-$ftime;
        if ($time>$etime){
                    zipcompressfile($server[$i]['patch'], 'files/server_'.$i.'/', $files);
                    unlink($server[$i]['patch'].$files);
                    }
        }
            closedir($handle);
            //echo 'Сервер #'.$i.' - '.$files.' демо.<br>';
        } else {
            throw new Exception('Папка "'.$server[$i]['patch'].'" не найдена');
        }
    
    for($n=1; $n<=sizeof($server); $n++)
    {
    $handle = @opendir('files/server_'.$n.'/');
    if ($handle)
{   
//время в секундах- 259200 - 3 дня- срок хранения демо. все, что старше- удаляется
$etime = 1728000;
                while (false !== ($files = readdir($handle)))
                if (preg_match("/(.*).dem/", $files) )
{

        $stime=time();
                $ftime = filemtime('files/server_'.$n.'/'.$files);
        $time=$stime-$ftime;
        if ($time>$etime)
{
                    unlink('files/server_'.$n.'/'.$files);
                    }
        }
            closedir($handle);
        }
}
            echo 'Старые файлы удалены<br>';
}

} catch (Exception $e) {
    $error = $e->getMessage();   
    
    $html = file_get_contents('template/error.tpl');
    $html = str_replace('{title}', 'Ошибка', $html);
    $html = str_replace('{error}', $error, $html);
    echo $html;
}
?>
PHP Warning: filemtime(): stat failed for ftp://user:pass@ip/cstrike/demos/test-1904220003-de_nuke.dem in /public_html/hltv/cron.php on line 20
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
2,491
Реакции
2,790
Помог
61 раз(а)
А вы поубирайте везде перед вызовами функций @ и тогда говорите ошибки. Данный символ подавляет все ошибки где он размещен.
 
Сообщения
18
Реакции
10
Помог
1 раз(а)
oxoTHuk, топ решение
22 Апр 2019
oxoTHuk, или ошибки выведит дополнительно и я не правильно понял
 
Сообщения
18
Реакции
10
Помог
1 раз(а)
fantom, тупанул думал просто ошибки исчезнут чекну отпишу
22 Апр 2019
решил скриптом перекинуть демки дальше крон пусть разбирается. хелпаните как перевести только dem фаилы без архиваций и чтоб ту демку тоже не перекидывало которая записывается.
Bash:
#!/bin/sh
DIR="/ваш путь до веб-сервера/hltv/files/server_1/"
for i in $( ls -t *.dem |sed '1,1d'| cut -d . -f1); do zip "$i".zip -m "$i".dem; done
mv *.zip $DIR
22 Апр 2019
сделал)
Bash:
#!/bin/sh
DIR="/ваш путь до веб-сервера/hltv/files/server_1/"
for i in $( ls -t *.dem |sed '1,1d'| cut -d . -f1); do mv "$i".dem $DIR; done
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу