Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение размера файла с сторонних сайтов. 
:(
    Опции темы
Dima85
Дата 14.3.2011, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Подскажите пожалуйста возможно ли средствами php, не скачивая файл узнать его размер?
Допустим существует: www.vasja.ru/test.zip
Можно ли к нему сделать какой-то коннект который определит размер файла?


PM MAIL   Вверх
gta4kv
Дата 14.3.2011, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



CURL'ом утянуть заголовки. Content-Length.
PM MAIL   Вверх
Dima85
Дата 14.3.2011, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



А как вам такой пример? 

Код

function file_size($file) 
{$text=file_get_contents($file); 
$size=strlen($text ); 
return $size; 
} 


Он работоспособен на всех серверах или возможно где-то будут проблемы?
PM MAIL   Вверх
enoff
Дата 14.3.2011, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



Dima85, в этом случае файл скачивается.
не работать будет, если только на сервере заморочки по поводу определения бот / пользователь.
PM MAIL ICQ Skype GTalk   Вверх
Dima85
Дата 14.3.2011, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Скачивается? Куда он скачивается? В какую именно директорию?
PM MAIL   Вверх
s0lman
Дата 14.3.2011, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Цитата(Dima85 @  14.3.2011,  11:07 Найти цитируемый пост)
$text=file_get_contents($file);

В оперативную память


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
Dima85
Дата 14.3.2011, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Подскажите пожалуйста а возможно ли таким же способом вывести когда в файле были последние изменения?
Если да, подскажите пожалуйста как это сделать.

PM MAIL   Вверх
enoff
Дата 14.3.2011, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



Протокол http и его заголовки все расскажут.
Content-Length:, Last-Modified: и т.д.
Конечно, при условии, что сервер отдает верные данные.
PM MAIL ICQ Skype GTalk   Вверх
Dima85
Дата 14.3.2011, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



enoff, можете пожалуйста показать на примере?
PM MAIL   Вверх
enoff
Дата 14.3.2011, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



Код

<?php
$url = 'http://www.zveryshki.ru/uploads/posts/2009-01/1233086916_9.jpg'; //мой аватар
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_HEADER, true);
$headers = curl_exec($ch);
if(preg_match("#last-modified:\s*(.*)\r\n#i", $headers, $out)) {
    $ts = strtotime($out[1]);
    echo date('d.m.Y H:i:s', $ts); //Последнее изменение
}
?>

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

PM MAIL ICQ Skype GTalk   Вверх
enoff
Дата 14.3.2011, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



только сейчас впомнил.
http://php.net/curl_getinfo
PM MAIL ICQ Skype GTalk   Вверх
Dima85
Дата 14.3.2011, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Спасибо вам большое. А вы можете что-то сказать насчет поддержки, будет ли поддерживать такой код бесплатные хостинги как Linux так и Windows?
PM MAIL   Вверх
enoff
Дата 14.3.2011, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



Dima85, из расширений тут используется только curl. Это и нужно смотреть. Имеет место быть злой умысел? smile 
PM MAIL ICQ Skype GTalk   Вверх
Dima85
Дата 14.3.2011, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 19.7.2007

Репутация: нет
Всего: нет



Нет. Я просто делаю маленькую CMS. И сейчас встал вопрос над уведомлением пользователей о новых версиях.
Как вы считаете целесообразно ли для этого использовать curl?
Так же я использую coockie через которые делаю условие. Каждые 20 дней проверять через curl новую версию.
PM MAIL   Вверх
gta4kv
Дата 14.3.2011, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Где смысл?

Не проще, что бы где нибудь была константа с текущей версией, а из кода вытягивать файл с вашего хоста, где будет написана актуальная версия. А не придумывать какие-то глупости с заголовками.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.3284 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.