PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (4): [1] 2 3 4 »

> Найдено сообщений: 54
Garda1 Отправлено: 28 Апреля, 2013 - 19:35:04 • Тема: Корректное ЧПУ, правописание в .htaccess • Форум: Вопросы новичков

Ответов: 0
Просмотров: 109
Потребовалось корректное ЧПУ для сайта, без дублирования страниц, для примера:
.htaccess:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. AddDefaultCharset UTF-8
  3.  
  4. php_flag magic_quotes_gpc Off
  5. php_flag register_globals Off
  6. Options -Indexes
  7.  
  8. php_value error_reporting 2047
  9. php_flag display_errors on
  10.  
  11. RewriteEngine On
  12.  
  13. RewriteCond %{REQUEST_URI} !^/favicon.ico
  14.  
  15. # Existed file.
  16. RewriteCond %{REQUEST_FILENAME} -f [OR]
  17. RewriteCond %{REQUEST_FILENAME} -d
  18. RewriteRule .+ - [L]
  19.  
  20. # документы не содержащие точки в имени должны оканчиваться слешом
  21. RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
  22. RewriteRule .* %1/ [R,L,QSA]
  23.  
  24. RewriteRule ^(.*)$ index.php [nocase]
  25.  


и простой обработчик index.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $route = trim($_SERVER['REQUEST_URI'],'/');
  5. $route = preg_replace("/\?.*/",'',$route);
  6. $route = preg_replace('/\/$/', '', $route);
  7. $route = explode('/', $route);
  8.  
  9. switch ($route[0]) {
  10.         case 'home':
  11.                 if(count($route)>1) echo 'Page not found';
  12.                 else echo 'This is page "HOME"';
  13.                 break;
  14.         case '':
  15.                 echo 'This is MainPage';
  16.                 break;
  17.         default:
  18.                 echo 'Page not found';
  19.                 break;
  20. }
  21.  


То есть, теперь мы обращаясь к скрипту ссылкой вида site.ru/home попадаем на единственную страницу site.ru/home/ со слэшем в конце строки. Но не все так гладко вышло, из-за двух последних RewriteRule страница запрашивается дважды, причем если это даже существующая директория. Тщетны были попытки найти похожий корректный пример в сети, к сожалению в htaccess не силен, пробовал сам в этом разобраться. Вопрос: каким бы образом соединить оба RewriteRule или есть другие варианты организовать такое действо?
Garda1 Отправлено: 08 Февраля, 2012 - 21:45:16 • Тема: многоуровневое меню • Форум: HTML, Дизайн & CSS

Ответов: 4
Просмотров: 1446
А почему вы пришли ко мнению использовать для такого простого меню JS, а не CSS?
есть хороший сайт, на котором изобилие cssmenu удовлетворит любые потребности
Garda1 Отправлено: 08 Февраля, 2012 - 17:48:50 • Тема: Обновить libxml на denwer'e • Форум: XML и его обработка

Ответов: 0
Просмотров: 1305
Стоит denwer3 с php 5.3.10 требуется обновить libxml до версии 2.7.8.
Возможно ли это? Если да, то буду благодарен за подсказку.
Garda1 Отправлено: 20 Апреля, 2011 - 01:01:40 • Тема: SELECT COUNT(*) • Форум: Программирование на PHP

Ответов: 6
Просмотров: 511
Okula пишет:
Так как если результат будет равен 0 то mysql_result() выдаст ошибку
ничего подобного, сколько подсчитано столько и возвращается 100 так 100, 0 так 0.
Проверьте сами.
Garda1 Отправлено: 19 Апреля, 2011 - 19:29:55 • Тема: Проблема с отправкой e-mail с аттачем • Форум: Работа с сетью

Ответов: 18
Просмотров: 6520
давай на мыло тебе скину скрипт, попробуешь, исключительно егго потестить.
тока мыло на какое напиши.
Если непроканает, тогда я - полотенчико.

Однако на другом хосте сработало???
тогда действительно в настройках сервачных может порыться
Garda1 Отправлено: 19 Апреля, 2011 - 19:19:32 • Тема: Проблема с отправкой e-mail с аттачем • Форум: Работа с сетью

Ответов: 18
Просмотров: 6520
загляни в личные сообщения тамм сцылка с моего скрипта, мля, ну у меня же работает Нахмурился
Garda1 Отправлено: 19 Апреля, 2011 - 19:14:39 • Тема: Проблема с отправкой e-mail с аттачем • Форум: Работа с сетью

Ответов: 18
Просмотров: 6520
может файл с другим расширением попробовать отправить?
Garda1 Отправлено: 19 Апреля, 2011 - 18:55:38 • Тема: Проблема с отправкой e-mail с аттачем • Форум: Работа с сетью

Ответов: 18
Просмотров: 6520
PHP:
скопировать код в буфер обмена
  1. $bound = 'spravka-1234';
  2.                 $emailTo = 'gardian90905@gmail.com';
  3.                 $subject = "=?utf-8?b?".base64_encode('Заказ услуги')."?=";
  4.                 $headers = 'From: MySite <'.$emailTo.'>'."\r\n";
  5.                 $headers .= "Mime-Version: 1.0\r\n";
  6.                 $headers .= "Content-type: multipart/mixed; boundary=\"$bound\"\r\n";
  7.                
  8.                
  9.                 $text .= "\n\n--$bound\r\n";
  10.                 $text .= "Content-type: text/html; charset=\"utf-8\"\r\n";
  11.                 $text .= "Content-Transfer-Encoding: quoted-printable\r\n";
  12.                
  13.                 $text .= "Вот и должон тут быть аттачЪ<br>\r\n";
  14.                
  15.                 $file_name = 'jquery-1.3.2.min.js';
  16.                 $file = fopen($file_name,"rb");
  17.                 if(!$file){echo 'файл не прочитан!';exit;}
  18.                 $fread = fread($file,filesize($file_name));
  19.                 $text .= "\r\n--$bound\n";
  20.                 $text .= "Content-type: application/octet-stream; name=\"=?utf-8?b?".base64_encode($file_name)."?=\"\n";
  21.                 $text .= "Content-Transfer-Encoding:base64\n";
  22.                 $text .= "Content-Disposition:attachment filename=\"$file_name\"\n\n";
  23.                 $text .= chunk_split(base64_encode($fread))."\n";
  24.                 $text .= "$bound--\r\n";
  25.                
  26.                 mail($emailTo,$subject,$text,$headers);

попробовать стоит заменить предыдущий отрывок "Именно Этим"!! С ним у меня на gmail приходит, в чём кардинальное различие не смог найти, только Mail и название файла свои подставь
Garda1 Отправлено: 19 Апреля, 2011 - 18:41:15 • Тема: Проблема с отправкой e-mail с аттачем • Форум: Работа с сетью

Ответов: 18
Просмотров: 6520
NeoN121 пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $bound = 'spravka-1234';
  2. $emailTo = 'neon12121@gmail.com';
  3. $subject = "=?utf-8?b?".base64_encode('Заказ услуги')."?=";
  4. $headers = 'From: us <'.$emailTo.'>'."\r\n";
  5. $headers .= "Mime-Version: 1.0\r\n";
  6. $headers .= "Content-type: multipart/mixed; boundary=\"$bound\"\r\n";
  7.                
  8.                
  9. $text .= "--$bound-\r\n";
  10. $text .= "Content-type: text/plain; charset=\"utf-8\"\r\n";
  11. $text .= "Content-Transfer-Encoding: quoted-printable\r\n";
  12.  
  13. $text .= "Some text\r\n";
  14.                
  15. $file_name = 'data.csv';
  16. $file = fopen($file_name,"rb");
  17. if(!$file){echo 'файл не прочитан!';exit;}
  18. $fread = fread($file,filesize($file_name));
  19. $text .= "\r\n--$bound\r\n";
  20. $text .= "Content-type: application/octet-stream; name=\"=?utf-8?b?".base64_encode($file_name)."?=\"\n";
  21. $text .= "Content-Transfer-Encoding:base64\n";
  22. $text .= "Content-Disposition:attachment filename=\"$file_name\"\n\n";
  23. $text .= chunk_split(base64_encode($fread))."\n";
  24. $text .= "\r\n--$bound--\r\n";
  25.                
  26. mail($emailTo,$subject,$text,$headers);


Вот до этого вот я урезал код. Кодировка файла скрипта - UTF-8


Подставил этот код, проверил, у меня работает... Не понял
Только файл должен весить больше 0байт

УПС, а вот на Gmail действительно не приходит
Garda1 Отправлено: 19 Апреля, 2011 - 18:23:27 • Тема: Проблема с отправкой e-mail с аттачем • Форум: Работа с сетью

Ответов: 18
Просмотров: 6520

это путь до файла. Скрипт проверку чтения файла проходит?
Garda1 Отправлено: 19 Апреля, 2011 - 17:50:31 • Тема: Проблема с отправкой e-mail с аттачем • Форум: Работа с сетью

Ответов: 18
Просмотров: 6520
кодировку я пользовал исключительно utf-8.
Скрипт в студию... а то так не отгадать.
(Добавление)
Подправил вышеприведённый кодец, лично проверил, засылает только в путь.
mail.attach.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if(count($_POST)>0)
  3. {
  4.         require_once 'clean_data.php';
  5.         $post = clean_data($_POST);
  6.        
  7.         if (empty($post['email'])) {
  8.                 $error .= '<li>Не заполнено поле <b>"E-mail"</b></li>';
  9.         }
  10.         if(isset($error))
  11.         {
  12.                 $HTML .= '<ol class="messaga bad_messaga">';
  13.                 $HTML .= $error;// Вывод системных сообщений
  14.                 $HTML .= '</ol>';
  15.                 $HTML .= '<br><br>';
  16.                 //echo $HTML;
  17.         }
  18.         else
  19.         {
  20.                 $bound = 'spravka-1234';
  21.                 $emailTo = $post['email'];
  22.                 $subject = "=?utf-8?b?".base64_encode('Заказ услуги')."?=";
  23.                 $headers = 'From: MySite <'.$emailTo.'>'."\r\n";
  24.                 $headers .= "Mime-Version: 1.0\r\n";
  25.                 $headers .= "Content-type: multipart/mixed; boundary=\"$bound\"\r\n";
  26.                
  27.                
  28.                 $text .= "\n\n--$bound\r\n";
  29.                 $text .= "Content-type: text/html; charset=\"utf-8\"\r\n";
  30.                 $text .= "Content-Transfer-Encoding: quoted-printable\r\n";
  31.                
  32.                 $text .= '<b>Сообщение:</b> Вот и должон тут быть аттачЪ<br>';
  33.                
  34.                 $file_name = $_FILES['rekvizity']['tmp_name'];
  35.                 $file = fopen($file_name,"rb");
  36.                 if(!$file){echo 'файл не прочитан!';exit;}
  37.                 $fread = fread($file,filesize($file_name));
  38.                 $text .= "\r\n--$bound\n";
  39.                 $text .= "Content-type: application/octet-stream; name=\"=?utf-8?b?".base64_encode($_FILES['rekvizity']['name'])."?=\"\n";
  40.                 $text .= "Content-Transfer-Encoding:base64\n";
  41.                 $text .= "Content-Disposition:attachment filename=\"$file_name\"\n\n";
  42.                 $text .= chunk_split(base64_encode($fread))."\n";
  43.                 $text .= "$bound--\r\n";
  44.                
  45.                 mail($emailTo,$subject,$text,$headers);
  46.                 $cool = true;
  47.                 $HTML .= '<ol class="messaga ok_messaga">';
  48.                 $HTML .= '<li>Заявка отправлена, наш агент свяжется с Вами в ближайшее время.</li>';// Вывод системных сообщений
  49.                 $HTML .= '</ol>';
  50.         }
  51. }
  52.  
  53. if(!isset($cool)){
  54. $HTML .= '
  55. <div class="uss_form_tml">
  56.         <form  enctype="multipart/form-data" method="POST" action="">
  57.                 <div class="uss_form_item uss_form_text">
  58.                         <label>Ваш E-mail (*)</label>
  59.                         <input type="text" class="text" id="emailid" name="email" value="'.$_REQUEST['email'].'">
  60.                 </div>
  61.                 <div class="uss_form_item uss_form_text">
  62.                         <label>Файл</label>
  63.                         <input type="file" name="rekvizity" value="">
  64.                 </div>
  65.                 <div class="uss_form_item uss_form_submit">
  66.                         <input type="submit" name="sendorderuslugform" value="Отправить">
  67.                 </div>
  68.         </form>
  69. </div>
  70. ';}
  71. echo $HTML;
  72.  

clean_data.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. /*
  3. * Функция очистки данных
  4. *@param array $data - входной массив данных
  5. *@param array $aux - выходной очищенный массив
  6. */
  7. function clean_data($data)
  8. {
  9.         foreach($data as $key => $value)
  10.         {
  11.                 $aux[$key] = pre_data($value) ;
  12.         }
  13.         return $aux;
  14. }
  15.  
  16. function pre_data($str) // ф-ция для очистки введенного контента
  17. {
  18.         if(get_magic_quotes_gpc() == 1) // если на сервере включен magic quotes, срабатывает "ручная" очистка
  19.         {
  20.                 $str = str_replace('\"', """, $str) ;
  21.                 $str = str_replace("\'", "'", $str) ;
  22.                 $str = str_replace("<", "<", $str) ;
  23.                 $str = str_replace(">", ">", $str) ;
  24.         }
  25.         else // если на сервере выключен magic quotes, срабатывает "ручная" очистка
  26.         {
  27.                 $str = htmlspecialchars($str,ENT_QUOTES,"UTF-8",false) ;
  28.         }
  29.         return $str ;
  30. }
  31. function post_data($str) // ф-ция для очистки вЫведенного контента
  32. {
  33.        
  34.                 $str = str_replace(""", '"', $str) ;
  35.                 $str = str_replace("'", "'", $str) ;
  36.                 $str = str_replace("<", "<", $str) ;
  37.                 $str = str_replace(">", ">", $str) ;
  38.        
  39.         return $str ;
  40. }
  41.  
Garda1 Отправлено: 19 Апреля, 2011 - 15:39:40 • Тема: SELECT COUNT(*) • Форум: Программирование на PHP

Ответов: 6
Просмотров: 511
а также можно mysql_result($result,1)
Garda1 Отправлено: 19 Апреля, 2011 - 12:07:17 • Тема: Проблема с отправкой e-mail с аттачем • Форум: Работа с сетью

Ответов: 18
Просмотров: 6520
показал бы исходники хоть чтоли, а так кнешна в своё время тоже промаялся с аттачем, но вот етот кусок кода работает, исправить только на свои данные осталось Подмигивание
Спойлер (Отобразить)
Garda1 Отправлено: 16 Апреля, 2011 - 17:17:14 • Тема: Как вставить символ после каждого 3 символа? • Форум: Программирование на PHP

Ответов: 1
Просмотров: 323
Не могу понять по какому алгоритму можно вставлять символы.
Конкретная задача:
выводятся большие сумммы(цифра например 1450000), нужно после каждого третьего символа справа вставить разделительный знак(итог 1,450,000).
Помогите, пожалуйста...
Garda1 Отправлено: 13 Апреля, 2011 - 10:27:25 • Тема: switch_case • Форум: Программирование на PHP

Ответов: 8
Просмотров: 617
Интересно, как можно отправить несколько нажатых кнопок?
И как тогда сделать это без цикла?

Страниц (4): [1] 2 3 4 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB