Single-File-PHP-file-manager
The inspiration for this project was my inability to use an FTP client remotely when working on CS projects that required I save my work to a campus-hosted server. I built a really terrible solution at the time which did some really janky things and was mostly contained in one enormous echo block, but I recently revisited it and rewrote it from the ground up.
The biggest challenge was keeping everything in one file while maintaining a decent feature set and preserving readability. The latter was the real challenge. By and large things are well commented, though, I did have to use section comments which I'm not crazy about. There's some cases where things are shoved into one line, but only when it's self explanatory when the formatting doesn't look terrible.
Features
- View file list (with FontAwesome icons!)
- Filter results in file list
- Copy/delete/rename/preview/change permissions
- Drag and drop file movement between directories
- Create new files/folder
- file uploading
- AJAX (not more broken refresh/back buttons
- Simple login/'security'
- It's all in one PHP file!
Known bugs
- Dragging and dropping onto action buttons produces an error
- Top directory dragging/dropping doesn't work
Coming soon
- Better error handling
- Clean everything
Credits
This project makes use of Bootstrap, jQuery and FontAwesome, as well as a few functions which were created by users on PHP.net and Stack Overflow--These are credited in the source.
Disclaimer:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.