Ну давайте по-порядку:
1.
Скрипт загружается впервые (то есть в браузере мы вводим что-то типо
http://localhost/edit.php). В данном случае никаким из методов (ни POST ни GET) мы ничего не передаём.
1.1 происходит проверка if(isset($_POST['content'])) - то есть проверяем, существует ли переменная content в массиве POST. если условие истинно,
скрипт продолжает выполнятся и выполняются все итерации в фигурных скобках. При запуске
скрипта впервые, это условие будет ложным, поэтому блок итераций в фигурных скобках после этого условия не будет выполнен, а просто напечатается форма.
1.2. Далее проверяем условие if (isset($_GET['filename'])). при первом запуске
скрипта переменной filename в массиве GET не существует, поэтому блок в {} ниже игнорируется и не выполняется.
2. После первого запуска
скрипта мы видим напечатанную форму. вводим имя файла и жмём кнопку "Отправить". При этом опять вызывается наш
скрипт edit.
php, но уже с существующей переменной $_GET['filename'], равной тому, что было введено в форме.
2.1 $_POST['content'] - у нас не существует пока что, поэтому опять блок ниже не выполняется. Печатается первая форма с введённым параметром.
2.2 Далее (isset($_GET['filename']) - истинно, так как $_GET['filename'] равен тому, что мы ввели, поэтому блок в фигурных скобках ниже выполняется. Открывается указанный файл, получается содержимое и выводится 2-я форма.
2.3 При нажатии в этой форме "Редактировать" Данные отправляются методом POST, то есть в данном случае будет $_POST['content'] - содержимое файла и $_POST['filename '] - название файла.
3. Теперь тк $_POST['content'] у нас существует выполнится блок в {} ниже (isset($_POST['content'])), где происходит открытие данного файла и запись содержимого $_POST['content'] в этот файл. Кроме того происходит перезапись из массива POST в массив GET названия файла.
3,1 далее печатается первая форма
3,2 так как $_GET['filename'] уже существует, то и выполнится опять 2-ой блок после условия isset($_GET['filename']).
P.S. Надеюсь я не запутал Вас своими объяснениями... и надеюсь сам не запутался =))