2010-04-22 2 views
0

Я создаю небольшой скрипт, который будет подключаться к учетной записи IMAP и захватывать содержимое электронной почты, а также вложения. Он работает хорошо по большей части, но когда появляется действительно большой файл, это приводит к тайм-ауту сценария. Есть ли способ проверить размер файла, прежде чем пытаться его захватить? Я думаю, это было бы самым простым решением. В противном случае мне, возможно, придется перейти на сервер с большим объемом памяти.Могу ли я предотвратить IMAP захват файлов через X mb с помощью PHP?

ответ

1

Заканчивать imap-fetch-overview() и imap-fetchstructure()

Они выглядят как они дадут вам размер в байтах (в зависимости от сервера).

+0

Я использую imap_fetchstructure(), и я просто заметил, что он передает обратно байты. Как работает imap_fetchstructure()? Действительно ли он захватывает вложения правильно, когда вы его называете? – mike

+0

'imap_fetchstructure()' не будет получать вложения; он просит сервер IMAP вернуть вам структуру (да, для этого есть команда IMAP). Затем вы используете 'imap_fetchbody()', чтобы получить бит, который вы хотите. – staticsan

1

Вы можете использовать imap_fetch_overview для извлечения информации для одного или нескольких заголовков, включая размер.

 Смежные вопросы

  • Нет связанных вопросов^_^