Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: создание поддомена
Форумы портала PHP.SU » » Вопросы новичков » создание поддомена

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

1. imediasun2 - 20 Февраля, 2013 - 19:29:16 - перейти к сообщению
Как создать поддомен по нажатию на кнопку и привязать определенную страницу к нему?
2. etoYA - 20 Февраля, 2013 - 19:47:52 - перейти к сообщению
imediasun2 пишет:
Как создать поддомен по нажатию на кнопку
PHP:
скопировать код в буфер обмена
  1. <form name="subdomain" method="post">
  2.         <input type="submit" name="create" value="create a subdomain" />
  3. </form>
  4. <?PHP
  5.         if (isset($_POST['create'])) mkdir('../dir');
  6. ?>
  7.  

imediasun2 пишет:
привязать определенную страницу к нему?

Этого не понял
3. imediasun2 - 20 Февраля, 2013 - 19:50:29 - перейти к сообщению
Знаете как есть шаблонизаторы создается страница по шаблону и поддомен для нее организовывается и затем эту страницу можно найти по данному адресу
4. esterio - 20 Февраля, 2013 - 19:57:32 - перейти к сообщению
Вам нужен именно поддомен
домен
example.com
поддомен
page.example.com

или адресс
example.com/page

определитесь
5. imediasun2 - 20 Февраля, 2013 - 20:04:55 - перейти к сообщению
поддомен page.example.com
6. etoYA - 20 Февраля, 2013 - 20:05:47 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. <form name="subdomain" method="post">
  3.         <input type="submit" name="create" value="create a subdomain" />
  4. </form>
  5. <?PHP
  6.         if (isset($_POST['create'])){
  7.                 $tpl = <<<TPL
  8. <html>
  9.   <head>
  10.     <title>Page title</title>
  11.   </head>
  12.   <body>
  13.     <p>Hello, World!</p>
  14.   </body>
  15. </html>
  16. TPL;
  17.                 if (!is_dir('../dir')) mkdir('../dir');
  18.                 $fp = fopen('../dir/index.html','w');
  19.                 fwrite($fp, $tpl);
  20.                 fclose($fp);
  21.         }
  22. ?>
  23.  
  24.  


Такое?
7. esterio - 20 Февраля, 2013 - 20:13:58 - перейти к сообщению
etoYA
Ето не то.
imediasun2
Мне кажется Вы что-то намудрили для себя с поддоменами

Но можно сделать следуещее - что-то вроде
DNS
*.example.com 127.0.01 #You real ip

И в хостак так само прописать.

Не уверен на 10% что ето то что нужно
8. imediasun2 - 20 Февраля, 2013 - 20:24:55 - перейти к сообщению
не создается ни директория ни файл
9. gefard - 20 Февраля, 2013 - 20:25:46 - перейти к сообщению
imediasun2 пишет:
Как создать поддомен по нажатию на кнопку и привязать определенную страницу к нему?

помню находил через яшу как-то
все зависит от используемой панели управления на хостинге
подкчаемся через КУРЛ и отправляем наш запрос на создание поддомена
подругому никак
ага нашел вот
biznesguide точка ru/coding/180.html
(Добавление)
ну и потом пишете вашу страницу в папку с вашим новым доменом в файл index.html
10. imediasun2 - 20 Февраля, 2013 - 20:38:11 - перейти к сообщению
Вот эта функция, как мне теперь обратиться к ней и какие параметры указать, и как по нажатию кнопки ввести имя поддомена и автоматически индексную страницу создать с Hello World?
PHP:
скопировать код в буфер обмена
  1.  
  2. function subdisp($domain, $sub, $login, $pass){
  3.          
  4.             $domain_name = (!empty($sub)? $sub.".": "").$domain;
  5.          
  6.             $request="https://".$domain."/manager/ispmgr?authinfo=".$login.":".$pass."&out=text&func=wwwdomain.edit&sok=yes&domain=".$domain_name."&alias=www.".$domain_name."&docroot=www/".$domain_name."&owner=".$domain_name."&ip=&admin=webmaster@".$domain."&charset=utf-8&index=index.php&php=&autosubdomain=asdnone";
  7.          
  8.             $ch = curl_init (); // инициализация
  9.             curl_setopt ($ch , CURLOPT_URL , $request); // адрес страницы для скачивания
  10.             curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  11.             curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  12.             curl_setopt($ch, CURLOPT_TIMEOUT, 30);   //TIMEOUT
  13.             curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  //Переходим по редиректам
  14.             curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 ); // нам нужно вывести загруженную страницу в переменную
  15.             $result = curl_exec($ch); // скачиваем страницу
  16.             curl_close($ch); // закрываем соединение
  17.          
  18.             $result = strtolower(trim($result));
  19.             return $result == 'ok';
  20.         }
  21.  
  22.  


Я пробую обратиться так но вілазит ошибка

PHP:
скопировать код в буфер обмена
  1.  
  2. if(subdisp('intermediatoday.com', 'subdomain', 'login', 'pass')){
  3.             echo 'Поддомен успешно создан';
  4.         }
  5.         else{
  6.             echo 'Произошла ошибка';
  7.         }
  8.  
  9.  
11. etoYA - 20 Февраля, 2013 - 20:45:16 - перейти к сообщению
imediasun2 пишет:
не создается ни директория ни файл

Вы пробуете на локальном сервере? Если нет, то установите права на файл. У меня денвер и все работает.
12. gefard - 20 Февраля, 2013 - 20:49:05 - перейти к сообщению
imediasun2 пишет:
Вот эта функция, как мне теперь обратиться к ней и какие параметры указать, и как по нажатию кнопки ввести имя поддомена и автоматически индексную страницу создать с Hello World?
PHP:
скопировать код в буфер обмена
  1.  
  2. function subdisp($domain, $sub, $login, $pass){
  3.          
  4.             $domain_name = (!empty($sub)? $sub.".": "").$domain;
  5.          
  6.             $request="https://".$domain."/manager/ispmgr?authinfo=".$login.":".$pass."&out=text&func=wwwdomain.edit&sok=yes&domain=".$domain_name."&alias=www.".$domain_name."&docroot=www/".$domain_name."&owner=".$domain_name."&ip=&admin=webmaster@".$domain."&charset=utf-8&index=index.php&php=&autosubdomain=asdnone";
  7.          
  8.             $ch = curl_init (); // инициализация
  9.             curl_setopt ($ch , CURLOPT_URL , $request); // адрес страницы для скачивания
  10.             curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  11.             curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  12.             curl_setopt($ch, CURLOPT_TIMEOUT, 30);   //TIMEOUT
  13.             curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  //Переходим по редиректам
  14.             curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 ); // нам нужно вывести загруженную страницу в переменную
  15.             $result = curl_exec($ch); // скачиваем страницу
  16.             curl_close($ch); // закрываем соединение
  17.          
  18.             $result = strtolower(trim($result));
  19.             return $result == 'ok';
  20.         }
  21.  
  22.  

ОЙ, новички и что с вами делать то, даже рормально прочитать не можете статью
PHP:
скопировать код в буфер обмена
  1. if(subdisp('maindomain.com', 'subdomain', 'login', 'pass')){
  2.     echo 'Поддомен успешно создан';
  3. }
  4. else{
  5.     echo 'Произошла ошибка';
  6. }

где maindomain.com ваш основной домен
subdomain имя поддомена
далее логин и пароль вашего хостинга
собственно получим subdomain.maindomain.com
папка с именем поддомена появится автоматом subdomain
поэтому дальше запишем в нее страницу
PHP:
скопировать код в буфер обмена
  1.  
  2. $fp = fopen('subdomain/index.html','w');
  3.  
  4.                 fwrite($fp, 'Hello World');
  5.  
  6.                 fclose($fp);

ну а форму ввода вообще давно выучить пора и пост запросы
(Добавление)
копай сюда
http://php.su/functions/?curl-error
13. avtor.fox - 20 Февраля, 2013 - 21:02:18 - перейти к сообщению
Для создания динамичесских поддоменов нужно -
Резолвить запросы типа *.yourdomain.com на yourdomain.com
Прописать правила модреврайта либо разбирать с помощью php.
14. imediasun2 - 20 Февраля, 2013 - 21:16:23 - перейти к сообщению
Поддомен успешно создается, как определить что такой поддомен уже есть при совпадении имен и вывести сообщение об ошибке, а также не создается index.html c Hello World, как теперь создать директорию на поддомене и разместить там файл с Hello World?
PHP:
скопировать код в буфер обмена
  1.  
  2. <form name="subdomain" method="post">
  3. Имя поддомена:<input type="text" name="subdomain_name">
  4.         <input type="submit" name="create" value="create a subdomain" />
  5. </form>
  6. <?PHP
  7.         if (isset($_POST['create'])){
  8.                 $subdomain=$_POST['subdomain_name'];
  9.                
  10.                 function subdisp($domain, $sub, $login, $pass){
  11.          
  12.             $domain_name = (!empty($sub)? $sub.".": "").$domain;
  13.          
  14.             $request="https://".$domain."/manager/ispmgr?authinfo=".$login.":".$pass."&out=text&func=wwwdomain.edit&sok=yes&domain=".$domain_name."&alias=www.".$domain_name."&docroot=www/".$domain_name."&owner=".$domain_name."&ip=&admin=webmaster@".$domain."&charset=utf-8&index=index.php&php=&autosubdomain=asdnone";
  15.          
  16.             $ch = curl_init (); // инициализация
  17.             curl_setopt ($ch , CURLOPT_URL , $request); // адрес страницы для скачивания
  18.             curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  19.             curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  20.             curl_setopt($ch, CURLOPT_TIMEOUT, 30);   //TIMEOUT
  21.             curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  //Переходим по редиректам
  22.             curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 ); // нам нужно вывести загруженную страницу в переменную
  23.             $result = curl_exec($ch); // скачиваем страницу
  24.             curl_close($ch); // закрываем соединение
  25.          
  26.             $result = strtolower(trim($result));
  27.             return $result == 'ok';
  28.         }
  29.  
  30. if(subdisp('intermediatoday.com', $subdomain, 'login', 'password')){
  31.             echo 'Поддомен успешно создан';
  32.         }
  33.         else{
  34.             echo 'Произошла ошибка';
  35.         }
  36.        
  37.         $fp = fopen('$subdomain/index.html','w');
  38.  
  39.                 fwrite($fp, 'Hello World');
  40.  
  41.                 fclose($fp);
  42.  
  43. }                              
  44. ?>
  45.  
15. gefard - 20 Февраля, 2013 - 21:24:49 - перейти к сообщению
imediasun2 пишет:
Поддомен успешно создается, как определить что такой поддомен уже есть при совпадении имен и вывести сообщение об ошибке, а также не создается index.html c Hello World, как теперь создать директорию на поддомене и разместить там файл с Hello World?
PHP:
скопировать код в буфер обмена
  1.  
  2. <form name="subdomain" method="post">
  3. Имя поддомена:<input type="text" name="subdomain_name">
  4.         <input type="submit" name="create" value="create a subdomain" />
  5. </form>
  6. <?PHP
  7.         if (isset($_POST['create'])){
  8.                 $subdomain=$_POST['subdomain_name'];
  9.                
  10.                 function subdisp($domain, $sub, $login, $pass){
  11.          
  12.             $domain_name = (!empty($sub)? $sub.".": "").$domain;
  13.          
  14.             $request="https://".$domain."/manager/ispmgr?authinfo=".$login.":".$pass."&out=text&func=wwwdomain.edit&sok=yes&domain=".$domain_name."&alias=www.".$domain_name."&docroot=www/".$domain_name."&owner=".$domain_name."&ip=&admin=webmaster@".$domain."&charset=utf-8&index=index.php&php=&autosubdomain=asdnone";
  15.          
  16.             $ch = curl_init (); // инициализация
  17.             curl_setopt ($ch , CURLOPT_URL , $request); // адрес страницы для скачивания
  18.             curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  19.             curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  20.             curl_setopt($ch, CURLOPT_TIMEOUT, 30);   //TIMEOUT
  21.             curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  //Переходим по редиректам
  22.             curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 ); // нам нужно вывести загруженную страницу в переменную
  23.             $result = curl_exec($ch); // скачиваем страницу
  24.             curl_close($ch); // закрываем соединение
  25.          
  26.             $result = strtolower(trim($result));
  27.             return $result == 'ok';
  28.         }
  29.  
  30. if(subdisp('intermediatoday.com', $subdomain, 'login', 'password')){
  31.             echo 'Поддомен успешно создан';
  32.         }
  33.         else{
  34.             echo 'Произошла ошибка';
  35.         }
  36.        
  37.         $fp = fopen('$subdomain/index.html','w');
  38.  
  39.                 fwrite($fp, 'Hello World');
  40.  
  41.                 fclose($fp);
  42.  
  43. }                              
  44. ?>
  45.  

не $fp = fopen('$subdomain/index.html','w');
а $fp = fopen($subdomain.'/index.html','w');
видишь разницу,
получи список папок в корне главного сайта, если имя нового домена совпадает с названием папки то поддомен есть такой

 

Powered by ExBB FM 1.0 RC1