|
|
Модератор форума: JonMagon |
Сообщество uCoz Мастерская uCoz Использование PHP и API на uCoz Как адаптировать простой PHP скрипт под uCoz |
Как адаптировать простой PHP скрипт под uCoz |
Искал решения, как вывести размер файла на сайте uCoz, наткнулся на довольно таки простой скрипт, ну как его втулить на uCoz пока не знаю. Есть вообще такая возможность? Вот сам скрипт
Код <?php // аргументов функции будет путь к файлу function get_filesize($file) { // идем файл if(!file_exists($file)) return "Файл не найден"; // теперь определяем размер файла в несколько шагов $filesize = filesize($file); // Если размер больше 1 Кб if($filesize > 1024) { $filesize = ($filesize/1024); // Если размер файла больше Килобайта // то лучше отобразить его в Мегабайтах. Пересчитываем в Мб if($filesize > 1024) { $filesize = ($filesize/1024); // А уж если файл больше 1 Мегабайта, то проверяем // Не больше ли он 1 Гигабайта if($filesize > 1024) { $filesize = ($filesize/1024); $filesize = round($filesize, 1); return $filesize." ГБ"; } else { $filesize = round($filesize, 1); return $filesize." MБ"; } } else { $filesize = round($filesize, 1); return $filesize." Кб"; } } else { $filesize = round($filesize, 1); return $filesize." байт"; } } ?> Код <?php include_once "function/function.php"; // подключаем файл с функцией // вставляете путь или переменную с путём для обработки его функцией $size = get_filesize ('images/photo.jpg'); echo "Размер файла: <strong>".$size."</strong>"; // выводим результат с размером ?> Буду благодарен за помощь в решении данного вопроса. У меня есть и отдельный сервер выделенный полноценный, с php, и подключен php на самом сайте uCoz. |
VOYSAX_MAN, сами то файлы где лежат? На каком сервере?
Муж рассказал жене, что у него есть любовница. Причина смерти: коронавирус.
|
Я использую прямую ссылку на файл. Сам файл находится на своем выделеном сервере, не связаным с uCoz.
|
VOYSAX_MAN, модифицировал ваш найденный скрипт чтобы он получал размер файла по ссылке на него. Короче.
На странице материалов вставляете ajax запрос, который будет передавать url файла к php Код <script> $(function() { var fileUrl = ''; // указываем прямую ссылку к файлу $.ajax({ url: 'php/filesize/filesize.php', type: 'POST', data: {url: fileUrl}, cache: false, dataType: 'json', success: function(data) { $('#your_id').text(data); // тут пишем id элемента в который нужно вставить результат } }); }); </script> Код <?php $___notjson = 1; if ( !empty ( $_POST['url'] ) ) $url = $_POST['url']; if ( isset ( $url ) ) { echo json_encode ( getFileSize ( $url ) ); exit; } function getFileSize($url){ ob_start(); $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_NOBODY, 1); $ok = curl_exec($ch); curl_close($ch); $head = ob_get_contents(); ob_end_clean(); $regex = '/Content-Length:\s([0-9].+?)\s/'; preg_match($regex, $head, $matches); $filesize = isset($matches[1]) ? $matches[1] : "unknown"; if ( $filesize == 'unknown' ) return $filesize; if($filesize > 1024) { $filesize = $filesize/1024; // Если размер файла больше Килобайта // то лучше отобразить его в Мегабайтах. Пересчитываем в Мб if ( $filesize > 1024 ) { $filesize = $filesize/1024; // А уж если файл больше 1 Мегабайта, то проверяем // Не больше ли он 1 Гигабайта if ( $filesize > 1024 ) { $filesize = ($filesize/1024); $filesize = round ( $filesize, 1 ); return $filesize . " ГБ"; } else { $filesize = round ( $filesize, 1 ); return $filesize . " MБ"; } } else { $filesize = round ( $filesize, 1 ); return $filesize." Кб"; } } else { $filesize = round ( $filesize, 1 ); return $filesize." байт"; } } ?> и заливаете его по FTP PHP uCoz в созданную папку filesize. Как-то так. Муж рассказал жене, что у него есть любовница. Причина смерти: коронавирус.
|
У меня отображает "null" значения...
|
VOYSAX_MAN, url не правильно указал. Замените на
Код url: '/php/filesize/filesize.php', Муж рассказал жене, что у него есть любовница. Причина смерти: коронавирус.
|
Я это сразу заметил, результат все равно не изменился...отображает "null"
|
VOYSAX_MAN, я проверил у себя. Все работает.
В скрипте вставил Код var fileUrl = '$RFILE_DIRECT_URL$'; Муж рассказал жене, что у него есть любовница. Причина смерти: коронавирус.
|
Это само собой. У меня стоит там прямая ссылка.
Вот можете попробовать сами с этой ссылкой вот: Сообщение отредактировал VOYSAX_MAN - Четверг, 14 Янв 2016, 20:39:58
|
VOYSAX_MAN, ошибка где-то на вашей стороне. Мне надо посмотреть страницу где вы разместили скрипт. Скиньте ссылку на такую страницу. Можно в ЛС, если не хотите светить ссылку
Муж рассказал жене, что у него есть любовница. Причина смерти: коронавирус.
|
огромное спасибо leonoff(on), помог, все работает, очень доволен. Тему можно закрывать. Спасибо!
Сообщение отредактировал VOYSAX_MAN - Вторник, 19 Янв 2016, 18:12:04
|
| |||
| |||