JavaScript + PHP Gallery - Forum

Forum Navigation
You need to log in to create posts and topics.

JavaScript + PHP Gallery

Hi..

After fighting with ChatGPT for a long period of time i created a gallery system wich has two parts, check the analysis below. Both version use Java script and php files. Version 1 (Gallery preview) can run on subroutine and called from multiple caintainers. Version 2 (Gallery Edit) can run from page load. Please check the example.

Version 1: Simple Preview only Gallery

This version is a lightweight, preview system that allows users to select and view up to 10 files at once directly within the browser, without uploading them to the server.

Functionality:

  • Users can select multiple files at once (up to 10).
  • Supports both image files and PDF documents.
  • Upon selection, all files are displayed in a gallery layout.
  • For image files, a full thumbnail preview is shown.
  • For PDF files, a representative icon is displayed.
  • Each preview item includes:
    • The original file name (with trimming and a dot if too long),
    • The file size in MB, shown centered and in bold on a second line.
  • Clicking on any file opens it in full view, either as an image or a full PDF preview.

Folder & File Mapping:

  • Files are associated with a specific subfolder inside the main “Images” directory.
  • The folder name is dynamically defined through application logic, allowing each set of files to be tied to a specific record or ID.

Custom Messages:

  • The gallery supports customizable interface messages:
    • A message displayed when no files are available.
    • A prompt instructing users to tap on files to view them in full.
  • These messages can be adapted to the application's language or user context.

Accepted File Types:

  • Images: JPG, JPEG, PNG, GIF
  • Documents: PDF

File Size Limit:

  • Maximum file size is 0.5MB per file.
  • A maximum of 10 files can be handled at once.

Use Case:
This version is ideal for applications that require file preview functionality. It provides a smooth and responsive user experience, with full visual feedback and interaction, perfect for lightweight review scenarios or forms with preview-before-submit logic.

 

Version 2: Full Upload System with Server Integration

This version extends the preview functionality by adding complete server-side file management, making it suitable for applications that require file persistence, organized storage, and deletion.

Functionality:

  • Users can select up to 10 files, including images and PDFs, using the file input.
  • Selected files are immediately previewed in a gallery, exactly as in Version 1:
    • Images are shown as full thumbnails.
    • PDFs appear with a document icon.
    • The original file name (trimmed if needed with a dot at the end) and the file size in MB (bold, centered) are displayed for each item.
  • Clicking on any preview opens the file in full view (image or PDF).

Upload Process:

  • Once the user clicks the upload button, the selected files are sent to the server.
  • Each uploaded file is stored in a specific subfolder on the server, which corresponds to a unique identifier defined by User inside Images folder.
  • If the folder does not already exist, it is created dynamically with the correct permissions.

Persistent File Display:

  • When the page loads, the gallery automatically fetches and displays all previously uploaded files associated with the current folder.
  • This allows users to see existing files along with any new ones selected, giving a complete and consistent view.

File Deletion:

  • Users can remove any uploaded file directly from the gallery.
  • Deletion affects both the interface and the server: the file is physically removed from the server folder, and the gallery updates instantly.

Accepted File Types:

  • Images: JPG, JPEG, PNG
  • Documents: PDF

File Size Limit:

  • Maximum size per file is 0.5MB.
  • A total of 10 files can be managed simultaneously (including previously uploaded and newly added ones).

Use Case:
This version is ideal for full-featured systems where file upload, preview, server storage, and deletion are all essential. It fits perfectly in admin panels, content management systems, or service-oriented apps where files must be organized by record and persist between sessions.

 

Uploaded files:
  • You need to login to have access to uploads.
luishp, Vadim and 3 other users have reacted to this post.
luishpVadimjavadrajabihakamiPhil78alexander_loc