Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
September 27, 2021 16:33
March 18, 2016 23:28
September 18, 2022 11:20
October 30, 2020 19:00


Pheditor is a single-file editor and file manager written in PHP.

Pheditor - PHP file Editor


  1. Editor with syntax highlighting
  2. File Manager (create, rename and delete files and directories)
  3. Password protected area
  4. Keeping the history of edited files and changes
  5. Keyboard shortcuts
  6. Access levels for reading and writing and other permissions
  7. Terminal
  8. Dark mode


  1. Web server (Nginx, Apache, or etc)
  2. PHP 7.2 or above

Install & Usage

Install using composer: composer create-project pheditor/pheditor

or just upload pheditor.php to your web host (and/or rename it as you wish).

Local assets

By default Pheditor uses CDN to load required libraries but also it is possible to load assets from local directory.

For using local assets follow these steps:

  1. Edit pheditor.php and change LOCAL_ASSETS definition to true.

define('LOCAL_ASSETS', true);

  1. Run npm i to install required dependencies.


  1. The default password is admin. Please change the password after install or first login.
  2. As the script gives permission to edit files, it is recommended to keep the address secret or protected depending on the web-server you are using.

Optional settings:

The settings would be editable in the main PHP file (pheditor.php by default). The settings are as below:

  1. Define patterns for files and directories to view/edit (empty means all files & directories)
  2. Log file path
  3. Show/Hide hidden files
  4. Limit access to the page only for an IP address (empty means access for all)
  5. Show/Hide main pheditor file (pheditor.php) in files list to edit
  6. History files path
  7. Word wrap
  8. Changing main directory (MAIN_DIR)
  9. Enable/Disable Terminal
  10. Define allowed terminal commands
  11. Change editor theme (EDITOR_THEME) (theme list)
  12. New file and directory permissions (DEFAULT_DIR_PERMISSION and DEFAULT_FILE_PERMISSION)

Using without password:

You can empty the PASSWORD constant in the source code to access the script without the password. But it is highly recommended to use it and change the default password after installation.

Access Levels and Permissions:

There are eight permissions for users that is defined in PERMISSIONS constant. You can remove any of them as you need.

Default value: newfile,newdir,editfile,deletefile,deletedir,renamefile,renamedir,changepassword,uploadfile,terminal


If you found this project useful, please consider making a donation to keep this project alive.

Cryptocurrency Address
Bitcoin bc1qqjm32eupk7lw3kctlmflqh9spzalya9mqwppw9
Ethereum 0x3d7324f1718fF9f9F57b1d45c80dEdea59F0b412

Thanks to:

Laurent, fjavierc, Jidbo