| |
|
|
| | Есть рассылка писем, а письма со встроенной картинкой (cid).
В цикле, где формируется письмо каждому подписчику, для вставки картинки в письмо приходится каждый раз открывать файл изображения для его обработки
$f=fopen($file_name,"rb"); а потом закрывать. И эта процедура для каждого письма, а писем сотни.
Нельзя ли как то-то вне цикла открыть файл, занести его данные в буфер, а у же в цикле всё просто подставлять. Пробовал просто вынести открытие файла за цикл, картинка пропадает.
А так файл открываеется и закрывается сотни раз - это же неправильно.
Что можно придумать? | |
| |
|
|
| |
|
|
| |
для: Владимир22
(28.06.2007 в 18:25)
| | | что мешает сделать file_get_contents и совать это в каждое письмо? | |
| |
|
|
| |
|
|
| |
для: Владимир22
(28.06.2007 в 18:25)
| | | Сотни подписчиков? Это популярный сайт или что-то другое?
А вообще, есть такая функция - rewind(). | |
| |
|
|
| |
|
|
| |
для: Unkind
(28.06.2007 в 18:30)
| | | Unkind, это сайт, конечно же.
Вот часть кода c работой файла:
{ //цикл
.......................
$f=fopen($file_name,"rb");
$messag .="\n\n--$bound\n";
$messag .="Content-Type: image/gif; name=\"".basename($file_name)."\"\n";
$messag .="Content-Transfer-Encoding:base64\n";
$messag .="Content-ID: <site_logo_img>\n\n";
$messag .=base64_encode(fread($f,filesize($file_name)))."\n";
$messag .=chunk_split(base64_encode(fread($f,filesize($file_name))))."\r\n";
$messag .="--$bound--\n\n";
...............
fclose($f);
}
|
Можно пример, как с помощью file_get_content или rewind вынести процесс открытия и закрытия файла??? | |
| |
|
|
| |
|
|
| |
для: Владимир22
(28.06.2007 в 18:39)
| | | $file = file_get_contents ($name); | |
| |
|
|
| |
|
|
| |
для: Владимир22
(28.06.2007 в 18:39)
| | | Да я понимаю, что сайт. Но сотни подписчиков просто так не появляются. Либо сайт популярный, либо это спам.
О rewind() почитайте в мануале. Там все предельно просто. | |
| |
|
|
| |
|
|
| |
для: Unkind
(28.06.2007 в 18:53)
| | | лучше один раз прочитать полностью чем читать заново каждый шаг цикла | |
| |
|
|
| |
|
|
| |
для: Unkind
(28.06.2007 в 18:53)
| | | Bronenos, да! и даже rewind не надо (хотя с ним тоже всё получилось)
Файл просто надо читать единожды перед циклом... Как я сам не додумался :) Всем спасибо за помощь! | |
| |
|
|