Teraz musisz zostawić interfejs, aby użytkownicy mogli modyfikować podobne pliki konfiguracyjne przez interfejs webowy, głównym sposobem jest wywołanie powłoki Linuksa scrip{filter}t z PHP, więc wklej powłokę Linuksa, która może modyfikować ten plik konfiguracyjny.
Po pierwsze, plik konfiguracyjny jest sformatowany w następujący sposób:
Przykłady są następujące, config.ini:
Plik konfiguracyjny zawiera 3 jednostki, reprezentujące 3 główne aspekty: bazę danych, biznes, offline; Każda jednostka ma własną nazwę pola oraz wartość pola.
Wspomniany wyżej blog potrafi odczytać taki plik konfiguracyjny i na razie zamierzamy modyfikować ten plik konfiguracyjny za pomocą powłoki Linuksa.
Zaprojektowaliśmy program o nazwie modify_config_file i zmodyfikowaliśmy go w formacie takim jak ./modify_config_file unit1-field1=changed_value1 unit2-field1=changed_value2 (parametry można dodawać w razie potrzeby).
Nie jest trudno zmodyfikować plik konfiguracyjny, 20-30 linii może rozwiązać problem. Jednak na zasadzie "wszystkie wejścia są szkodliwe" konieczne jest dodanie różnych procesów odporności na błędy do powłoki, jeśli parametry użytkownika są błędne, aby móc przypomnieć użytkownikowi na czas i zlokalizować problem; następująca zasada opiera się na takim pierwotnym zamiarze powłoki, oczywiście nazwa brzmi modify_config_file:
Użytkownik modyfikuje konfigurację za pomocą następującego polecenia:
Wyniki są następujące:
Wśród nich pierwsza linia wskazuje, że w przedziale numeracji linii, w którym znajduje się jednostka BUSINESS, należy zwrócić uwagę na odstęp otwarcia; Druga linia reprezentuje wszystkie dopasowania do numerów linii pól, ponieważ może istnieć wiele jednostek tego samego pola; Trzecia linia wskazuje numer linii pola, który ostatecznie wpada w przedział jednostkowy; Czwarta linia oznacza wynik poprawki wiersza.
Ponadto bardzo prawdopodobne jest, że dane wejściowe użytkownika nie są zgodne z formatem, a następujące błędy zostaną zgłoszone i skierowane:
Jeśli chcesz zastosować go do innych plików konfiguracyjnych, musisz zmodyfikować ścieżkę i nazwę pliku konfiguracyjnego w skrypcie:
|