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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Работа с файлами

 PHP.SU

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


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

> Без описания
zeone
Отправлено: 15 Июня, 2010 - 08:37:44
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




Добрый день! Я пишу диплом "хостинг сервер" и для автоматизации процеса решил использовать пхп вроди все нормально форма регистрации работает но заметил неприятную вещи когда пхп записует в файл он в конце строки ставит ^M изза чего апач вешаетса
Вот мой кода можете посоветовать что сделать:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include ('config.php');
  3. echo "SESSION:";print_r($_SESSION);
  4. $name=$_SESSION['login'];
  5. $pass=$_SESSION['pass'];
  6. $site=$_SESSION['site'];
  7. $mail=$_SESSION['mail'];
  8. $m_pass=md5($pass);
  9. $file_name=$site;
  10. $text="<VirtualHost *:80>
  11.        ServerName  $site
  12.        ServerAlias test.batareyka.org.ua *.test.batareyka.org.ua $site.batareyka.org.ua
  13.        ServerAdmin $name
  14.        DocumentRoot  /oth/hosting/$site/data/
  15. <Directory  /oth/hosting/$site/data/>
  16.        Options none
  17.        AllowOverride Limit
  18.        Order Deny,Allow
  19.        Allow from all
  20.      </Directory>
  21.  
  22.        Alias /php-fcgi/ /oth/hosting/$site/data/cgi-bin/
  23.        ErrorLog /oth/hosting/$site/log/error.log
  24.  
  25.        # Possible values include: debug, info, notice, warn, error, crit,
  26.        # alert, emerg.
  27.        LogLevel warn
  28.  
  29.        CustomLog  /oth/hosting/$site/log/access.log combined
  30.  
  31. </VirtualHost>";
  32. //Створення базы данних
  33. $link = mysql_connect($host, $DB_user, $DB_pass) // Соединение с MySQL
  34.    or die ("Невозможно подключиться к MySQL");
  35. $db="CREATE DATABASE $name"; // Формирование запроса на создание базы данных
  36. mysql_query ($db) // Выполнение запроса
  37.  or die ("Невозможно создать БД");
  38.  mysql_select_db($name, $link) or die ("база не выбрана");
  39. $db_u="CREATE USER '$name'@'localhost' IDENTIFIED BY '$pass';";
  40. mysql_query ($db_u) // Выполнение запроса
  41.  or die ("Неможливо створити користувача");
  42. $db_r="GRANT ALL ON $name.* TO '$name'@'localhost';";
  43. mysql_query($db_r);
  44.  
  45. echo "CREATE USER '$name'@'localhost' IDENTIFIED BY '$pass';";
  46. echo "GRANT ALL ON $name.* TO '$name'@'localhost';";
  47.  
  48. // Створення файлу для вебсервера
  49. $cp = fopen ("/oth/hosting/batareyka.org.ua/data/config_file/$file_name.conf", "w");
  50. fwrite($cp,$text)
  51. or die ('fail sychestvurt');
  52. fclose($cp);
  53. //считуетса файл построчно
  54. $f=file("/oth/hosting/batareyka.org.ua/data/config_file/$file_name.conf");    
  55. for($i=count($f);$i>0;$i--){
  56.     echo "$f[$i] <br>";
  57. }
  58. exec ("touch /oth/hosting/configs/$site.conf");
  59. exec ("echo '<VirtualHost *:80>
  60.        ServerName  $site
  61.        ServerAlias $name.batareyka.org.ua *.$site
  62.        ServerAdmin $name
  63.        DocumentRoot  /oth/hosting/$site/data/
  64. <Directory  /oth/hosting/$site/data/>
  65.        Options none
  66.        AllowOverride Limit
  67.        Order Deny,Allow
  68.        Allow from all
  69.      </Directory>
  70.        Alias /php-fcgi/ /oth/hosting/$site/data/cgi-bin/
  71.        ErrorLog /oth/hosting/$site/log/error.log
  72.        # Possible values include: debug, info, notice, warn, error, crit,
  73.        # alert, emerg.
  74.        LogLevel warn
  75.  
  76.        CustomLog  /oth/hosting/$site/log/access.log combined
  77.  
  78. </VirtualHost>' >> /oth/hosting/configs/$site.conf");
  79. exec ("mkdir -pv /oth/hosting/$site/data/cgi-bin/");
  80. exec ("cp /usr/local/www/apache22/cgi-bin/php.sh /oth/hosting/$site/data/cgi-bin/php.sh");
  81. exec ("/usr/local/etc/rc.d/apache22 reload");
  82. exec ("touch /oth/hosting/$site/data/index.php");
  83. exec ("echo '<? echo 'dostalo': ?>' >> /oth/hosting/$site/data/index.php");
  84. $fi=file("/oth/hosting/configs/$site");    
  85. for($i=count($fi);$i>0;$i--){
  86.     echo "$fi[$i] <br>";
  87. }
  88.  
  89. // Додаэмо параметри для фтп користувача
  90. mysql_select_db($db_f, $link) or die ("база не выбрана");
  91. mysql_query("INSERT INTO users VALUES ('$name', '$m_pass', '65534', '31', '/oth/hosting/$site/data/', '100', '100', '1024', '1024', '*', '0', '1', '*', '')") or die ("чтото не катит");
  92. mysql_select_db($bd_name, $link) or die ("база не выбрана");
  93. mysql_query("INSERT INTO users VALUES ('$name', '$m_pass', '$site', '$mail')");
  94.  $err=mysql_error($link);
  95.         echo $err;
  96. // Створення заису для користувача
  97. mysql_select_db ($db_dns, $link);
  98. mysql_query("INSERT INTO domains VALUES ('', '$site', 'NULL', 'NULL', 'NATIVE', 'NULL', 'NULL')");
  99. mysql_query("INSERT INTO records VALUES ('', '8', '$name.batareyka.org.ua', 'CNAME', 'batareyka.org.ua', '86400', '0', '')");
  100. mysql_query("INSERT INTO records VALUES ('', '', 'mail.$site', 'A', '77.87.42.61', '86400', '0', '')");
  101. mysql_query("INSERT INTO records VALUES ('', '', '$site', 'SOA', '0', '86400', '0', '')");
  102. mysql_query("INSERT INTO records VALUES ('', '', 'mail.$site', 'A', '77.87.42.61', '86400', '0', '')");
  103. mysql_query("INSERT INTO records VALUES ('', '', '$site', 'NS', '77.87.42.61', '86400', '0', '')");
  104. mysql_query("INSERT INTO records VALUES ('', '', 'www.$site', 'A', '77.87.42.61', '86400', '0', '')");
  105.  
  106.         session_destroy();
  107.  
  108. ?>

Прошу сильно не пинать так как учу пхп всего неделю, в скрипте я пытаюсь 2 способами сделаь запиь в файл но результат 1 8(
Вот что в итоге получаю
Цитата:
<VirtualHost *:80>^M
ServerName koza.somefile.org.ua^M
ServerAlias glyshko.batareyka.org.ua *.koza.somefile.org.ua ^M
ServerAdmin glyshko^M
DocumentRoot /oth/hosting/koza.somefile.org.ua/data/^M
<Directory /oth/hosting/koza.somefile.org.ua/data/>^M
Options none^M
AllowOverride Limit^M
Order Deny,Allow^M
Allow from all^M
</Directory>^M
Alias /php-fcgi/ /oth/hosting/koza.somefile.org.ua/data/cgi-bin/^M
ErrorLog /oth/hosting/koza.somefile.org.ua/log/error.log^M
# Possible values include: debug, info, notice, warn, error, crit,^M
# alert, emerg.^M
LogLevel warn^M ...

Зарание спасибо.
 
 Top
Viper
Отправлено: 15 Июня, 2010 - 11:12:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




^M в mc означает что перевод строки виндовый. а нужно юниксовый. т.е. вместо \r\n должно быть просто \n

В своем редакторе в настройках поставьте перевод строки как в Unix.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
zeone
Отправлено: 15 Июня, 2010 - 23:46:56
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




Viper
Спасибо! Я использую Еклипс, погуглил говорят что у него нельзя изменить можеш чтото посоветовать?
(Добавление)
Разобралса! Сож кому пригодитса сделал просто открыл файл с помощю нотепада и в меню "Кодировки" вібрал "Преобразрвать в кодировку UNIX"
 
 Top
JustUserR
Отправлено: 16 Июня, 2010 - 11:20:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




zeone Убрать лишний символ возврата каретки можно и средствами самого PHP-скрипта - если использовать значение замены для строковой константы с соответсвующим символом - при этом в замене лучше указыть не сам физический символ \r а его экранрованное значение чтобы избежать разницы в кодироке Можете вообще не использовать в строковых константах - и заместо этого использовать экранированный \n а многострочные поля делать с помощью конкатенации
Что касается самой хостинговой системы то вам следует устанавливать владельца и права доступа для создаваемых папок - причем желательно использовать разных системых пользователей чтобы пользователи не могли изменять файлы в каталогах друг и друга - и при этом объединить каждого из пользователей в группу Apache по правам 755 чтобы не приходилось делать suexec-переход


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
pasha237
Отправлено: 17 Июня, 2010 - 14:25:44
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Июнь 2010  
Откуда: Донецк


Помог: 0 раз(а)




zeone пишет:
Разобралса! Сож кому пригодитса сделал просто открыл файл с помощю нотепада и в меню "Кодировки" вібрал "Преобразрвать в кодировку UNIX"
- так же возможно с помощью ворда, имхо
 
 Top
JustUserR
Отправлено: 18 Июня, 2010 - 11:58:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




pasha237 пишет:
Так же возможно с помощью ворда, имхо
Программа Microsoft Word может при работе с файлами даже формата plain text при сохранении преобразовать их в HTML-вид - а именно добавить свои мета-теги и разметочные стили и другую информацию По крайней мере даже если вы сохраните файл в текстовом режиме в определенной кодировке - то символы \r он убирать не будет


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB