PHPackages                             xaraya/uploads - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. xaraya/uploads

ActiveXaraya-module[File &amp; Storage](/categories/file-storage)

xaraya/uploads
==============

Upload/Download File Handler

2.9.4(5mo ago)0971GPL-2.0-or-laterPHP

Since Apr 15Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/xaraya-modules/uploads)[ Packagist](https://packagist.org/packages/xaraya/uploads)[ Docs](https://github.com/xaraya-modules/uploads)[ RSS](/packages/xaraya-uploads/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (14)Used By (1)

Overview
--------

[](#overview)

### What is it?

[](#what-is-it)

*Uploads is a Xaraya Utility Module.* It is currently responsible for accomplishing these tasks:

- Allows for the importing of files into the Xaraya system either locally or externally.
- Allows the managing of access to files via privileges.
- ...

How to use it?
--------------

[](#how-to-use-it)

### External Imports and Uploads

[](#external-imports-and-uploads)

Files that are uploaded or imported from external locations can be saved in the database (DB) or stored in the filesystem (FS). Use the options (FS/DB) under each form to select the storage location for your file.

The import engine will try to make a best guess for the name of the file you are trying to import. In the event that it cannot figure out what the file name is it will use the following methods:

- **HTTP and HTTPS**

    In the event that the filename for an HTTP import can not be determined, the file will be named based on the host name of the server the file was imported from. For example, importing  would return a file with the name of www\_xaraya\_com.html
- **FTP**

    Due to the underlying nature of the FTP protocol, it is impossible to successfully access a file on a system without providing a viable file name. In this case, no file name 'guessing' will be attempted and the import will fail.

### Local Imports Sandbox

[](#local-imports-sandbox)

Files can be inserted into your local import sandbox and used immediately by users with sufficient access to add files and attach them to hooked objects (articles, comments, etc). Files you place in your local import sandbox can be seen in the 'Import Local Files' form immediately upon adding them.

### Privileges

[](#privileges)

Uploads has the following privilege levels:

- ViewUploads with the READ level of access to a file
- AddUploads with the ADD level of access to add files to the uploads system
- EditUploads with the EDIT level to edit files that have been added to the uploads system
- ManageUploads with the Delete level to remove files from the uploads system.
- AdminUploads for the admin access. Only site administrators need this level

A role needs the ViewUploads privilege to view a file that has been uploaded and approved by the admin/editor. If the file has not been approved, but submitted, the Edit privilege is needed to access the file. You can use the autoapprove option to automatically approve all files uploaded by a certain user.

### Included Blocks

[](#included-blocks)

There are no included blocks.

### Included Hooks

[](#included-hooks)

The Uploads module does provide a transform hook. You can activate the uploads hook for a module or itemtype by going to [Modules - Configure Hooks - Uploads Module](&xar-modurl-modules-admin-hooks;&hook=uploads). From there check the radio buttons next to the modules and itemtypes where you wish to activate the uploads module hooks.
If you combine the hook with the upload property, then you can add parameters to the dynamic property. Set the options with: *single;methods(-trusted,+external,+upload,+stored);basedir(/tothedir/uploads/{user});importdir(/tothedir/uploads/{user})*
This option will allow for a single upload, with external, uploaded and stored files, but not trusted ones. The basedir to look for stored files is the user dir, and new files will be placed there as well.

The Uploads module does also provide a display hook with waiting content waiting content hook by going to [Modules - Configure Hooks - Uploads Module](&xar-modurl-modules-admin-hooks;&hook=uploads). From there check the radio buttons next to the base module.
Then make sure you have the waiting content block available on your site. When a file is in submitted status, it will be shown in the block.

### DD Uploads Methods

[](#dd-uploads-methods)

- Trusted
    A "Trusted" directory usually points to a folder that lists files previously uploaded, eg, by the Administrator via FTP. Please note, if configured, multiple items can be selected in this input method.
- External
    As the name implies, this input expects a valid URL, either HTTP or FTP. Please note, PHP/HTTP must be configured to allow outward-bound connections.
- Upload
    The standard "upload" input, allowing the user to upload a file from their computer. Currently, files can only be uploaded one at a time.
- Stored
    This input represents the library of files uploaded. If selected, the user will be able to select from previously uploaded files. Please note, if configured, multiple items can be selected in this input method.

### Configuring the DD Uploads Property

[](#configuring-the-dd-uploads-property)

Most of the global Modify Config options can be overridden on a per-property case, allowing greater flexibility to admins to store files separately based on content or user. The following is a brief overview of the options available:

- Multiple?
    Checking this option will allow multiple files to be selected in the Trusted or Stored methods.
- Input Method
    You can override the global config with your own Input Methods preference for this particular instance of the Uploads property.
- File Types
    Allowed file types.
- Base Directory
    Override the global config with a property specific path.
- Trusted Directory
    Override the global config with a property specific path.
- Directory Name
    This is the directory prefix for the module to use when creating sub directories. Uploads recognizes several macros, {user} and {theme} to dynamically create certain path conventions.

### Further Information

[](#further-information)

Further information on the Uploads module can be found at

- Uploads Extension page at [Xaraya Extension and Releases](http://www.xaraya.com/index.php/release/36.html "Uploads Module - Xaraya Extension 666"). Click on Version History tab at the bottom to get the latest release information.
- Related tutorials and documentation on Uploads found at [Xaraya Documentation.](http://www.xaraya.com/index.php/keywords/uploads/ "Related documentation on Uploads")

\*\* Uploads Module Overview\*\*
 Version 1.0.0 2006-03-08

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance72

Regular maintenance activity

Popularity9

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~111 days

Recently: every ~54 days

Total

13

Last Release

155d ago

Major Versions

1.1.0 → 2.6.02025-01-12

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1447115?v=4)[Mike's Pub](/maintainers/mikespub)[@mikespub](https://github.com/mikespub)

---

Top Contributors

[![mrvdb](https://avatars.githubusercontent.com/u/73067?v=4)](https://github.com/mrvdb "mrvdb (100 commits)")[![random777](https://avatars.githubusercontent.com/u/4590892?v=4)](https://github.com/random777 "random777 (90 commits)")[![mikespub](https://avatars.githubusercontent.com/u/1447115?v=4)](https://github.com/mikespub "mikespub (87 commits)")[![CaraesNaur](https://avatars.githubusercontent.com/u/544558?v=4)](https://github.com/CaraesNaur "CaraesNaur (3 commits)")[![bmcg](https://avatars.githubusercontent.com/u/1027483?v=4)](https://github.com/bmcg "bmcg (1 commits)")

### Embed Badge

![Health badge](/badges/xaraya-uploads/health.svg)

```
[![Health](https://phpackages.com/badges/xaraya-uploads/health.svg)](https://phpackages.com/packages/xaraya-uploads)
```

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15161.6M2.6k](/packages/illuminate-filesystem)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)[madnest/madzipper

Easier zip file handling for Laravel applications.

1382.3M6](/packages/madnest-madzipper)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
