Попроще и по сути нужно лишь добавить в функцию sendform блок:
$ar = explode("\n", $text);
$tofile = array();
foreach($ar as $row) {
if (preg_match("#^([^\:]+)\:(.*)$#msi", $row, $m)) {
if ($m[1]=="Enquiry") continue;
$tofile[0][] = trim($m[1]);
$tofile[1][] = trim($m[2]);
}
}
$text = implode(";",$tofile[0])."\n".implode(";",$tofile[1]);
Данный вариант будет работать, если все данные однострочные, и имеют именно ту структуру как в примере, если Enquiry многострочный параметр, идет в конце и в принципе в логе не нужен, то возможного мусора в логе можно избежать заменив
Качалкой файл в несолкько потоков частями выкачивается полностью, а броузер в один поток долго открывает и видно сам веб-сервер по таймауту отключает. Скорее всего нужно таймаут увеличить или скорость отдачи, хотя опять же не тестировал.
Rapide: Возникает проблема при попытке ответа в форум - разъезжается окно ответа. Причем, разъезжается только в IE
Подскажите, где искать причину.
Спасибо!
У меня помоему тоже самое было.
Скорее всего разьезжается из за аяксового блока загрузки файлов, выставь у него ширину фиксированную, должно помочь. Я правил в js скрипте блока загрузки.
Еще полезно почитать "ководство" Лебедева: http://www.artlebedev.ru/kovodstvo/
Некоторые глюки - это какие? Судя по коду все должно работать хорошо и правильно, даже перепроверил обе функции у себя с разными параметрами)
Shtogrin дело говорит, есть еще вариант сделать вот так:
function gettext(){
global $fields;
$text="";
if (isset($_SERVER['REMOTE_ADDR'])) $text.="REMOTE_ADDR: ".$_SERVER['REMOTE_ADDR']."\n";
if (isset($_SERVER['HTTP_VIA'])) $text.="HTTP_VIA: ".$_SERVER['HTTP_VIA']."\n";
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $text.="HTTP_X_FORWARDED_FOR: ".$_SERVER['HTTP_X_FORWARDED_FOR']."\n";
$ar = array();
foreach($fields as $key => $field){
$text.=$field[0].": ".$_POST[$key]."\n";
$ar[] = $field[0].": ".$_POST[$key]."\n";
}
return $text;
}
function sendform($text){
global $email, $subject, $logfile, $from;
mail($email, $subject, $text, "From: $from\nContent-Type: text/plain; charset=windows-1251\n");
// вставить данный кусок
$ar = explode("\n", $text);
$tofile = array();
foreach($ar as $row) {
if (preg_match("#^([^\:]+)\:(.*)$#msi", $row, $m)) {
if ($m[1]=="Enquiry") continue;
$tofile[0][] = trim($m[1]);
$tofile[1][] = trim($m[2]);
}
}
$text = implode(";",$tofile[0])."\n".implode(";",$tofile[1]);
// конец вставки
$fp = fopen ($logfile, "a");
fputs ($fp, $text."\n----------------------------\n\n");
fclose($fp);
}
Попроще и по сути нужно лишь добавить в функцию sendform блок:
Данный вариант будет работать, если все данные однострочные, и имеют именно ту структуру как в примере, если Enquiry многострочный параметр, идет в конце и в принципе в логе не нужен, то возможного мусора в логе можно избежать заменив
на
Возможно в этом проблема, но не уверен: http://httpd.apache.org/docs/2.2/mod/core.html#keepalivetimeout
Качалкой файл в несолкько потоков частями выкачивается полностью, а броузер в один поток долго открывает и видно сам веб-сервер по таймауту отключает. Скорее всего нужно таймаут увеличить или скорость отдачи, хотя опять же не тестировал.
www.google.com/analytics/
Согласен, единственное что слегка напрягает задержка отчетности - более полусуток. Хотя возможно это еще зависит от часового пояса ☝
Возникает проблема при попытке ответа в форум - разъезжается окно ответа. Причем, разъезжается только в IE
Подскажите, где искать причину.
Спасибо!
У меня помоему тоже самое было.
Скорее всего разьезжается из за аяксового блока загрузки файлов, выставь у него ширину фиксированную, должно помочь. Я правил в js скрипте блока загрузки.