File Properties Editor

Properties for file compression and security can be edited via the File Manager. To edit their properties, select one or more files, then click Properties (or press Ctrl+P). The following window will appear:

file properties

If the selected file is a PHP script, you have two tabs: Properties and Security. Otherwise you only have the Properties one.

You can see the name and the type of the selected file or "Multiple files" is shown if you have actually selected several files. If you leave the mouse cursor on this name, the full path to the file will be indicated in a small hint window.

Folder Properties

It is possible to set file properties for an entire folder: select a folder in the "Folder Tree" and click Properties. The "Folder" window will appear:

folder properties

In case of a folder, you can force the value of properties for all files and subfolders inside the folder. For instance, if you dedice to exclude a given folder, all files inside it will be excluded too.

Warning

Folder properties override file properties: if a folder is set to be kept external, you cannot change that property for files inside the folder. In that case, ExeOutput will disable the corresponding checkbox.

File Properties

Compilation Properties

  • Exclude the selected file (files are ignored): if you turn this option on, ExeOutput for PHP will exclude the file from the compilation; it will not be available at all. Excluded files are marked with a red cross in the File Manager.

  • Do not compress the selected file: when enabled, ExeOutput for PHP will compile the file but it won't be compressed: it is stored - uncompressed - in the application's data. You can use this option if you are going to include already-compressed files.

  • Unpack the file(s) to virtual memory at startup: when the application starts, it unpacks the file to the virtual storage (the virtual subfolder named "Data" from the folder where the EXE is located). Note that the file is not unpacked to the hard disk, but in memory (see Accessing Source Files from PHP). Thus, it can be accessed by php as a regular file on the disk. The same goal can be achieved with the internal exo_unpackvirtualfile php function. This option is useful to prevent end users from replacing PHP files with modified copies in the "Data" subfolder.

Keep file external and copy it to the "Data" subfolder

When a file was compiled in the application .exe file, it has to be unpacked to memory before the application can read it. This operation may require additional time, depending on the size of the file.

To skip the decompression step, large files such as media files or even entire folders with thousands of files can be kept outside the application .EXE files. When these files need to be loaded, the application will automatically look for them in the "Data" subfolder and therefore the loading time will be highly decreased.

If you enable the option, ExeOutput for PHP will automatically copy the external files to the appropriate location in the "Data" subfolder.

Important

External files that already exist in the destination folders are not overwritten by ExeOutput for PHP. You will have to upgrade these files yourself or simply remove the "Data" subfolder manually.

Warning

External files are not compiled and consequently they must be deployed with your application .exe file. The installers generated by ExeOutput for PHP can include external files in the "Data" subfolder.

Encode external PHP files so that they can only be read by the application

To enhance the security of your external files, it is possible to encrypt them so that their contents can only be read by the application and remain invisible to end users.

The disadvantage is that external files will be systematically encrypted at each compilation of your application, so the compilation time will be longer than in case of non-encryption.

Note

Encryption only applies to PHP files. Files with other content are simply ignored.

Further information about external files

Security

This tab provides you with two security features related to PHP.

Protection Marks

Lets you mark the selected PHP file(s) for additional protections such as internal encoding. In order to be applied, these protections must be first enabled: you can do it in the PHP settings ribbon.

Encode php file with internal protection will encrypt the PHP file's content at compilation time, so that, even at runtime, the PHP file remains encrypted in memory. This is useful if you want to avoid your PHP source code to appear in memory (it can be retrieved in case of a memory dump).

Tip

The "Do not cache php source file in memory" can't be used if "Unpack the file(s) to virtual memory at startup" is turned on.