PHP: $head = "Date: " . date("D, d M Y H:i:s") . " UT\r\n"; // <<<<<<<<<< $head .= "Subject: =?Utf-8?B?" . base64_encode($subject) . "=?=\r\n"; $head .= "X-Mailer: The Bat! (v3.99.3) Professional\r\n"; $head .= "X-Priority: 3\r\n"; $head .= "Reply-To: " . $from . "\r\n"; $head .= "MIME-Version: 1.0\r\n"; $head .= "From: =?Utf-8?B?" . base64_encode($text_from) . "=?= <" . $from . ">\r\n"; $head .= "To: " . $to . " <" . $to . ">\r\n"; $head .= "Content-Type: text/html; charset=\"utf-8\"\r\n"; $head .= "Content-Transfer-Encoding: 8bit\r\n\r\n"; $head .= $message . "\r\n"; Ну если только так... PHP: <?php if (isset($_POST['refresh'])) header('location:' . basename(__FILE__)); ?> <form action="" method="post"> <input type="submit" name="refresh" value="Refresh"> </form>
А чтобы автоматом перезагружалась..??! Имеется скрипт, он должен выполниться, а после страница автоматом должна перезагрузиться.. (Цикл не катит, нужна именно перезагрузка страницы)
в базе установи кодировку utf8_general_ci. и в скрипте сразу после конекта: Code: @mysql_query('SET NAMES cp1251;'); и в index.php: Code: <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
ну попробуй добавить это: Accept-Encoding: deflate и User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)
header('Content-Length: 213133'); обычно в самом конце. Еще возможно надо указать язык, чарсет и т.д.
Смешные вы) Научитесь юзать курл...и спрашивается нахер он тут нужен? Курлом получать данные, а потом ф-цией readfile() их считывать, бред Всё это легче реализовать через fopen(), тем более при закачке с удалённых хостов. readfile тут может отказаться очень неблагонадёжной функцией. Тем более если решишь сделать скачку по кускам, докачку и т.д.... Во-вторых, заголовки не точные. Mime-тип audio/mpeg, Transfer-Encoding нужно ставить binary Ну и дальше через цикл всё закачивается. PHP: <?php $link = 'http://bla-bla.ru/1.mp3'; if ($openFile = @fopen($link, 'rb')) { $fileInfo = stream_get_meta_data($openFile); preg_match('#Content-Length:\s([0-9\S]*)#i', join(' ', $fileInfo['wrapper_data']), $outSize); $size = !empty($outSize[1]) ? $outSize[1] : ''; preg_match('#Last-Modified:\s(.*)\sGMT#i', join(' ', $fileInfo['wrapper_data']), $outMod); $lastMod = !empty($outMod[1]) ? $outMod[1] : ''; header('HTTP/1.1 200 OK'); header('Content-Length: '.$size); header('Content-Type: audio/mpeg'); header('Last-Modified: '.$lastMod); header('Content-Disposition: attachment; filename="имя_файла.мп3";'); header('Cache-Control: private'); header('Content-Transfer-Encoding: binary'); header('Accept-Ranges: bytes'); while (!feof($openFile) && !connection_status()) { echo fread($openFile, 1024); flush(); ob_flush(); } } ?> З.Ы. какой ещё порядок заголовков? Вы чего?
Я как раз-таки понял твою проблему, показал как получить длину файла и как по-нормальному отдать его браузеру
тяжёлый случай... Тебе заголовки нужны были, вот тебе заголовки, смотри. А про readfile() это просто пример того, что при закачке с удалённых хостов не нужно её использовать. Это просто как совет...но тебе на пользу кажись не пойдёт...
Может у кого-нить есть офлайн версия мануала http://ru.php.net/manual/ru/index.php.. Просто сейчас с интернетом проблемы... Или посоветуйте другой справочник, так чтобы удобный был, ну типа поиск по функциям и т.д...)
Ну какбэ isset PHP: if (isset($_SERVER['PHP_AUTH_USER'])) echo 'ок'; else echo 'не алё'; или на худой конец вот так array_key_exists PHP: if (array_key_exists('PHP_AUTH_USER', $_SERVER)) echo 'ок'; else echo 'не алё'; или print_r($_SERVER); и смотреть что имеем
PHP: <?php if (!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate: Basic realm="My Realm"'); header('HTTP/1.0 401 Unauthorized'); echo 'Текст, отправляемый в том случае, если пользователь нажал кнопку Cancel'; exit; } else { echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>"; echo "<p>Вы ввели пароль {$_SERVER['PHP_AUTH_PW']}.</p>"; } ?> http://ru2.php.net/features.http-auth как заставить работать в CGI: http://www.besthostratings.com/articles/http-auth-php-cgi.html
Nightmarе, HTTP-Аутентификация работает если пхп прикручен, как модуль Apache'a. Если как cgi-обработчик - тогда никак. Сделал небольшое сравнение. Вывел массив $_SERVER на 2х серваках (1 - модуль, 2 - cgi) В первом случае REQUEST_URI, SCRIPT_NAME совпадали. Во втором SCRIPT_NAME - путь до пхп. + во втором случае был еще 1 параметр: [REDIRECT_HANDLER] => php-cgi. Можно еще посмотреть в phpinfo параметр Server API. + если модуль, тогда есть функции для работы с сервером Apache http://ru.php.net/manual/ru/ref.apache.php Те можно просто проверить через function_exists.