С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,305

Php сможет определить размер файла?!

29.10.2012, 22:17. Показов 3420. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, в настоящее время на странице имею код
HTML5
1
2
3
4
5
6
7
8
9
10
11
<p>Вы можете скачать Правила дорожного движения РФ по состоянию на 19.07.2012 г.</p>
        
<?php if(!file_exists('Правила дорожного движения РФ.doc'))
//exists - существует, в php вместо пробелов не нужно указывать "%20"
echo 'Извините, указанный файл временно отсутствует';
else { ?>
<p>
<!--ссылка на скачивание файла с относительным путём, вместо пробелов нужно указывать "%20"-->
<a href="Правила%20дорожного%20движения%20РФ.doc" title="Скачать файл">Правила дорожного движения РФ.doc</a>
</p> <?php
}?>
Надо двигаться дальше - дописать если файл существует его размер, то есть примерно так должно выглядеть Правила дорожного движения РФ.doc, его размер 2, 13 МБ
Если в корне нет этого заархивированного файла - пхп может заархивировать? - вообще жесть
Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.10.2012, 22:17
Ответы с готовыми решениями:

Определить размер файла, и если этот размер меньше определенного, скопировать этот файл в другой каталог
Задача: определить размер файла по указанному пути, и если этот размер меньше определенного скопировать этот файл в другой каталог. ...

проблема с tempnam в php, размер файла выдает - 0
кто нибудь может объяснить, что за глюк. Я создаю при помощи tempnam() временный файл, записываю в него инфу, а потом пытаюсь получить...

PHP 5.3 работает, на PHP 7.1 - нет, кто сможет ?
Имеется синонимайзер на php 5.3 работает, все что выше - нет. Исходники во вложении. Помогите пожалуйста!

32
--\.founder./--
 Аватар для WebMax 2.0
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
29.10.2012, 22:35
PHP
1
2
3
$rar = new ZipArchive();
$rar->open('имя_каталога/имя_архива.rar', ZIPARCHIVE::CREATE); // Создание архива, можно и zip
$rar->addFile('имя_каталога/имя_файла.расширение'); // Добавление файла в архив
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,305
29.10.2012, 22:52  [ТС]
а экзешник
Цитата Сообщение от WebMax 2.0 Посмотреть сообщение
zip
должен быть у меня в корне
здесь так
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
в php вместо пробелов не нужно указывать "%20"
или
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
вместо пробелов нужно указывать "%20"
Добавлено через 9 минут
не проверял, так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<p>Вы можете скачать Правила дорожного движения РФ по состоянию на 19.07.2012 г.</p>
        
<?php if(!file_exists('Правила дорожного движения РФ.doc'))
//exists - существует, в php вместо пробелов не нужно указывать "%20"
echo 'Извините, указанный файл временно отсутствует';
else { ?>
<p>
<!--ссылка на скачивание файла с относительным путём, вместо пробелов нужно указывать "%20"-->
<a href="Правила%20дорожного%20движения%20РФ.doc" title="Скачать файл">Правила дорожного движения РФ.doc</a>
</p> <?php
}?>
 
<?php if(!file_exists('Правила дорожного движения РФ.7z'))
//exists - существует, в php вместо пробелов не нужно указывать "%20"
$rar = new ZipArchive();
//Создание архива
$rar->open('Правила дорожного движения РФ.7z', ZIPARCHIVE::CREATE); 
//Добавление файла в архив
$rar->addFile('Правила дорожного движения РФ.7z');
?>
 
<p>
<!--ссылка на скачивание файла с относительным путём, вместо пробелов нужно указывать "%20"-->
<a href="Правила%20дорожного%20движения%20РФ.7z" title="Скачать файл">Правила дорожного движения РФ.7z</a>
</p>
Добавлено через 3 минуты
проверил в корне файла Правила дорожного движения РФ.7z не добавилось
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,305
03.11.2012, 19:29  [ТС]
извините, отсутствовал, апну
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
проверил в корне файла Правила дорожного движения РФ.7z не добавилось
???
0
 Аватар для c4boomb
198 / 166 / 23
Регистрация: 20.04.2011
Сообщений: 750
Записей в блоге: 1
03.11.2012, 19:35
Не используйте русский названий файлов, лучше англ.

Добавлено через 34 секунды
и зачем вы 2 раза проверяете на существование файла?
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,305
03.11.2012, 19:41  [ТС]
Цитата Сообщение от c4boomb Посмотреть сообщение
лучше англ
и что вот прям никак - верится с трудом, что в этом причина
Цитата Сообщение от c4boomb Посмотреть сообщение
и зачем вы 2 раза проверяете на существование файла?
2 строчки кода где я это проверяю укажите пжл

Добавлено через 51 секунду
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
дописать если файл существует его размер
а это как?
0
 Аватар для c4boomb
198 / 166 / 23
Регистрация: 20.04.2011
Сообщений: 750
Записей в блоге: 1
03.11.2012, 19:43
у вас 2 раза строка if(!file_exists('Правила дорожного движения РФ.7z'))
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
03.11.2012, 19:43
c4boomb, там разные файлы
0
 Аватар для c4boomb
198 / 166 / 23
Регистрация: 20.04.2011
Сообщений: 750
Записей в блоге: 1
03.11.2012, 19:44
и если честно это БЫДЛОКОД, не в обиду вам

Добавлено через 26 секунд
а не увидел разные файлы, прошу прощения
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
03.11.2012, 19:44
попробуйте iconv() - может дело в этом
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,305
03.11.2012, 19:47  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
попробуйте iconv()
это как?
0
 Аватар для c4boomb
198 / 166 / 23
Регистрация: 20.04.2011
Сообщений: 750
Записей в блоге: 1
03.11.2012, 19:50
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$output = "<p>Вы можете скачать Правила дорожного движения РФ по состоянию на 19.07.2012 г.</p>";
if(!file_exists('Правила дорожного движения РФ.doc')){
$output .= "Файл не существует!";
}
else
{
$output .= "<a href=\"Правила%20дорожного%20движения%20РФ.doc\" title=\"Скачать файл\">Правила дорожного движения РФ.doc</a>";
 
if(!file_exists('Правила дорожного движения РФ.7z'))
{
  $rar = new ZipArchive();
//Создание архива
$rar->open('Правила дорожного движения РФ.7z', ZIPARCHIVE::CREATE); 
//Добавление файла в архив
$rar->addFile('Правила дорожного движения РФ.doc');
}
$output .= "<a href=\"Правила%20дорожного%20движения%20РФ.7z\" title=\"Скачать файл\">Правила дорожного движения РФ.7z</a>";
}
Ну хотя бы так, хотя этот код тоже не очень.

Добавлено через 31 секунду
Этот должен работать

Добавлено через 1 минуту
ещё надо в конце echo $output; в конце дописать
1
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,305
03.11.2012, 19:52  [ТС]
спасибо!!!
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
дописать если файл существует его размер, то есть примерно так должно выглядеть Правила дорожного движения РФ.doc, его размер 2, 13 МБ
как-то странно Вы эту сторону вопроса обходите, с чего бы это?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
03.11.2012, 19:56
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<p>Вы можете скачать Правила дорожного движения РФ по состоянию на 19.07.2012 г.</p>
        
<?php
$file_name ='Правила дорожного движения РФ{format}';
if( !file_exists(str_replace('{format}','.doc',$file_name)) ) :
//exists - существует, в php вместо пробелов не нужно указывать "%20"
echo 'Извините, указанный файл временно отсутствует';
else : ?>
<p>
<!--ссылка на скачивание файла с относительным путём, вместо пробелов нужно указывать "%20"-->
<a href="<?php echo urlencode(str_replace('{format}', '.doc', $file_name)); ?>" title="Скачать файл">Правила дорожного движения РФ.doc</a>
</p> 
 
<?php endif; ?>
 
<?php if(!file_exists(str_replace('{format}','.7z',$file_name))) {
  //exists - существует, в php вместо пробелов не нужно указывать "%20"
  $rar = new ZipArchive();
  //Создание архива
  $rar->open(str_replace('{format}','.7z',$file_name), ZIPARCHIVE::CREATE); 
  //Добавление файла в архив
  $rar->addFile(str_replace('{format}','.7z',$file_name));
}
?>
 
<p>
<!--ссылка на скачивание файла с относительным путём, вместо пробелов нужно указывать "%20"-->
<a href="<?php echo urlencode(str_replace('{format}', '.7z', $file_name)); ?>" title="Скачать файл"><?php echo str_replace('{format}','.7z',$file_name); ?></a>
</p>
1
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,305
03.11.2012, 19:58  [ТС]
спасибо
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
дописать если файл существует его размер, то есть примерно так должно выглядеть Правила дорожного движения РФ.doc, его размер 2, 13 МБ
это что задача века? не определить размер?
0
 Аватар для c4boomb
198 / 166 / 23
Регистрация: 20.04.2011
Сообщений: 750
Записей в блоге: 1
03.11.2012, 20:00
неужели так сложно? http://lphp.ru/article/161.html
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,305
03.11.2012, 20:07  [ТС]
спасибо, нашёл классный ответ, соль здесь - Целая статья, что бы сказать
Цитата Сообщение от Humanoid Посмотреть сообщение
Целая статья, что бы сказать
PHP
1
echo filesize('<имя файла>');
Но это можно использовать для файлов не более 2 ГБ. В крайнем случае, можно использовать для файлов до 4 ГБ:
PHP
1
echo sprintf('%u', filesize('<имя файла>'));
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
03.11.2012, 20:11
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function file_size ($file) {
  if(!file_exists($file))
    return false;
 
    $size = filesize($file);
 
    if($size > 1024) {
      $size = ($size/1024);
 
      if($size > 1024) {
        $size = ($size/1024);
 
        if($size > 1024)
            return round(($size/1024), 1).' ГБ';
        else
            return round($size, 1).' MБ';
    }
    else
        return round($size, 1).' Кб';
  }
  else
    return round($size, 1).' байт';
 
}
 
#вызывать как то так
$size = file_size('Правила дорожного движения РФ.7z');
if(false === $size)
  echo 'Извините, файл не существует';
else {
  echo 'Размер файла '.$size;
}
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,305
03.11.2012, 20:13  [ТС]
понял, разбираюсь, а это
<?php endif; ?>
в пхп ставится когда был else? или почему в одном случае поставили, а во втором нет?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
03.11.2012, 20:19
я их ставлю когда условие выводится в html и закрывается php-код
PHP
1
2
3
4
<?php if(условие) : ?>
код html код html код html
код html код html код html
<?php endif; ?>
просто так нагляднее потом, имхо..

Добавлено через 25 секунд
это альтернативный синтаксис

Добавлено через 23 секунды
тоже самое в принципе..
PHP
1
2
3
4
<?php if(условие) { ?>
код html код html код html
код html код html код html
<?php } ?>
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.11.2012, 20:19
Помогаю со студенческими работами здесь

Определить размер файла
Мне нужно определить размер какого-либо файла на языке Си: для этого мне нужно его открывать и вычислять через fseek и ftell. Среда...

Определить размер файла
Скажите пожалуйста как определить размер файла средствами языка php

Определить размер файла
Пишу скрипт удаления временных файлов. Нужна подсказка в определении размера файла, если его имя начинается с восклицательного знака. ...

Определить размер файла в С++
Есть ли функция для определения размера файла в С++, как скажем в Delphi или Pascal функция FileSize(var F: file)?

Как определить размер файла?
Сабжж! Научите пожалста! Я вот нашёл функцию GetFileSize но никак не разберусь как она работает.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru