Используя getcwd()
для извлечения в том же каталоге
<?php
$unzip = new ZipArchive;
$out = $unzip->open('wordpress.zip');
if ($out === TRUE) {
$unzip->extractTo(getcwd());
$unzip->close();
echo 'File unzipped';
} else {
echo 'Error';
}
?>
Что мы закончили тем, что делали:
Я записал две запланированных задачи. Первое проверило, чтобы видеть, были ли какие-либо сообщения в папке очереди, более старой, чем n minues (в настоящее время набор к 30). Второй сброс очередь каждую ночь во время низкого использования.
К сожалению, мы никогда действительно обнаружили, почему очередь сойдет с рельсов, но это только, кажется, происходит, когда мы используем Exchange - другие почтовые серверы, мы попробовали, не имеют этой проблемы.
Править: Меня попросили отправить мой код, таким образом, вот тот для перезапуска, когда старая почта найдена:
<cfdirectory action="list" directory="c:\coldfusion8\mail\spool\" name="spool" sort="datelastmodified">
<cfset restart = 0>
<cfif datediff('n', spool.datelastmodified, now()) gt 30>
<cfset restart = 1>
</cfif>
<cfif restart>
<cfset sFactory = CreateObject("java","coldfusion.server.ServiceFactory")>
<cfset MailSpoolService = sFactory.mailSpoolService>
<cfset MailSpoolService.stop()>
<cfset MailSpoolService.start()>
</cfif>
Мы не попытались выполнить это, не используя очередь, из-за большой суммы почты, которую мы отправляем
Невнимательный, имеем Вас , попробовал выключение буферизации? Я видел, что почта отправляется на уровне 500-600 сообщений за половину секунды, и это идет своего рода дрянной сервер. Со стандартным тайм-аутом страницы в 60 секунд, которые были бы ~72 000 электронными письмами, которые Вы могли послать, прежде чем испытает таймаут страница. Вы отправляете больше чем 72 000 за один раз?
альтернатива я использовал, прежде чем CFMail был, это быстро должно было создать пользовательский спулер. Вместо того, чтобы послать электронные письма на лету, сохраните их к таблице базы данных. Тогда установите запланированное задание, чтобы отправить несколько сотен из сообщений и перенести себя для несколько минут спустя, пока таблица не будет пуста.
Мы запланировали задание для выполнения один раз в день; и это может перенести себя для выполнения снова через несколько минут, если таблица не пуста. Никогда не имел проблему с ним.
Вы попытались просто обойти очередь в целом? (В Администраторе CF, при настройках Mail Spool, снятие флажка "Сообщения электронной почты шпульки для доставки".)
У меня иногда есть та же проблема, и это не происходит из-за нулевого файла байта, хотя та проблема действительно неожиданно возникала в прошлом. Кажется, что один или два файла (самые старые в папке) помешают очереди обрабатывать. То, что я делаю, переместить все сообщения к папке содержания, перезапустить почтовую очередь и скопировать сообщения назад в блоке за один раз в обратном хронологическом порядке, ожидать их, чтобы выйти и переместить еще немного. Сообщения, которые держали очередь, помещаются в отдельную папку, которая будет исследована последние.
Можно, вероятно, программно сделать это путем остановки очереди, перемещения самого старого файла в другую папку, затем запустить почтовую очередь и видеть, начинается ли отправка успешно путем проверки количеств файла папки и дат. Если удаление самого старого файла не работает, повторяет предыдущий процесс, пока все нарушающие почтовые файлы не перемещены, и отправка продолжается успешно.
Я надеюсь помогание.
Существует проблема с почтовым спулером и сообщения с вложениями в CFMX 8, который был зафиксирован с одним из Текущих исправлений. Версия 8.0.1, по крайней мере, должна была иметь, это зафиксировало.