Инсталятор

Asafchik

Новичок
Инсталятор

Как сделать инсталятор для скриптов?
Чтобы в нём можно было указать настройки и нажав кнопку произвести нужные действия.
А именно:
1)chmod
2)Коннект к базе и создание нужных таблиц
3)Создание файла с конфигурацией.
Заранее спасибо.
 

moxnatiy

Новичок
написать скриптик в котором делаешь chmod
потом коннект к базе и create tablr
потом fopen и fwrite в файл с конфигурацией


что не ясно?
 

Asafchik

Новичок
Как сделать шаги то?
Чтобы он сначала получил всё, что нужно, а потом коннектился к базе....
 

moxnatiy

Новичок
сначала получить все что нужно а потом коннектиться к базе :))))
 

moxnatiy

Новичок
как вам угодно можно через форму
можно из консоли запускать
все в ваших руках.
 

Asafchik

Новичок
Мне нужно, что была как инсталяшка у паблик скриптов...
Как там получить нужные переменные?
 

jrip

Новичок
Не умеем получать дынные из формы? Однакож, тогда имхо надо скрипты научиться писать, а после уже инсталяшки для них.
из формы - $_POST, $_GET
если из командной строки, то $_SERVER['argv']
 

m.pontus

Новичок
Я всегда писал инсталяторы наподобие регистрации. Алгоритм такой:

PHP:
<? 
$action=$_POST['action']; 
if(isset($action){
// Проверка правильности ввода и отсутствия ошибок. Если есть ошибки то обнуляем $action, сами ошибки заносим например в $errors
}
if(isset($action)){
/*Создаешь таблицы
Выставляешь chmod
Создаешь файл с конфигурацией */
}else{
if(isset($errors) // Выводишь ошибки из $errors;
// Выводишь форму конфигурации
}
Возможно в чем то ошибся, но принцып должен быть понятен.
 

jrip

Новичок
таблицы, имхо, в самом конце нужно создавать, иначе, если произойдёт ошибка, надо будет думать над их удалением при повторной попытки установки.
т.е.
выставляем права
пытаемся создать файл конфигурации
проверяем правильность ввода
создаём таблицы

кстати, какой смысл обнулять $action, если можно просто проверять $errors? и вообще без $action можно обойтись.
можно так проверить:
if($_SERVER['REQUEST_METHOD']=='POST')
 

m.pontus

Новичок
jrip и то верно. Хотя я не совсем понял вопрос Asafchik. Ты хочешь узнать алгоритм или определенные аспекты создания инсталятора?
 

Asafchik

Новичок
Меня интересует:
1)Создание шагов
2)Алгоритм
С получением данных уже разобрался.
$_POST[''];
 

jrip

Новичок
Asafchik
дык тебе и дали алгоритм.


if($_SERVER['REQUEST_METHOD']=='POST'){

выставляешь права, проверяем, если ошибка то в $error
if(!$error)
вводимые данные не коректны - ошибку в $error
if(!$error)
создаём файл, проверяем - ошибку в $error
if(!$error)
создаём таблицы

}else{
выводим форму
}

И что ты имеешь ввиду под созданием шагов?
 

Rammstein

PHPClub::News
Копай в сторону многостраничных форм. (на PEAR есть пакет, но он будет избыточен в этом случае).
 

m.pontus

Новичок
Asafchik
Так тебе не хватило вышеописанного? Хватило - отпешись, мол спасибо, разобрался.
 

Krishna

Продался Java
Мне нужно, что была как инсталяшка у паблик скриптов...
Как там получить нужные переменные?
Предлагаю неожиданный ход конём!
Посмотреть, как это сделано в желанных паблик скриптах!
 

Asafchik

Новичок
Пробую делать через свитч, а потом шаги,действия и обработку ошибок через IF.
Как закончу - выложу...
В php я новичок, так что не судите строго....
 

Asafchik

Новичок
А от моего уровня зависит то, что я хочу и пытаюсь сделать?
Мне просто интересна эта тема.
Вот я и взялся.

-~{}~ 11.04.06 23:32:

Так...
1 трабл...
В чём проблема?
Почему всё пишется и выполняется вне зависимости от шага?
PHP:
<?
global $a;
require_once ('func.php');
require_once ('need.php');
$a=$_GET['a'];
switch($a)
{
  case "files": $action='files';
                break;
  case "db": $action='db';
                break;
  case "db2": $action='db2';
                break;
  case "conf": $action='conf';
                break;
  case "finish": $action='finish';
                break;
  default: $action='welcome';
                break;
  }
  /*
  Начинаем объяснять скрипту работу шагов
  */
if ($action = 'welcome')
  {
  echo 'Добро пожаловать в установку скрипта<br>';
  echo 'Данный скрипт поможет вам в настройке и установке<br>';
  echo 'Нажмите <a href="setup.php?a=files">НАЧАТЬ</a> для начала установки<br>';
  }
else
{

}	
/*
ШАГ первый.
Проверка всех файлов
*/
if ($action = 'files')
{
  for ($i=1; $i<4; $i++)
  {
  echo "Файл " . $files[$i]  . " Статус: "; 
echo FileExist($files[$i]) . "<br>";
  }
}
  ?>
 
Сверху