Save As Dialog Box in PHP applications
Since your PHP application compiled with ExeOutput for PHP is an application that runs on Windows, you may want to save files locally and in some cases, ask the end user for the path and filename of the file you want to create.
The Save As dialog box lets the user specify the drive, directory, and name of a file to save.
It can be invoked with the HEScript command named SaveFileDialog. The following topic tells you the steps to have a Save As dialog box in your PHP application.
Step 1: create the HEScript script¶
Open the UserMain script in ExeOutput for PHP.
And paste the following HEScript code:
function SaveDlgFile: String;
begin
Asks for filename
Result := SaveFileDialog("Save Text As", "*.txt", "*.txt", "Text Files (*.txt)|*.txt|All files (*.*)|*.*", "");
Returns blank string if user cancels the dialog.
end;
We call a built-in HEScript command named SaveFileDialog which is described in the Script Reference topic.
function SaveFileDialog(const aTitle, aFilename, aDefaultExt, aFilter, aInitialDir: String): String;
-
aTitle: title of the dialog box.
-
aFilename: default filename.
-
aDefaultExt: default extension.
-
aFilter: file extension filter
-
aInitialDir: initial directory
Result: returns the full path to the selected file. If canceled, returns an empty string.
Click Save Script. The HEScript function is now ready to be called from PHP or JavaScript.
Step 2: call from PHP¶
<?php
echo "Asking for filename...<br>";
// Executes HEScript to call the system dialog "Save As"...
$filename = exo_return_hescriptcom("UserMain.SaveDlgFile", "Error");
echo "Filename: ".$filename;
if (empty($filename)) {
echo "Operation canceled<br>";
return;
}
$pdf->Output($filename, "F");
echo "Done.";
?>
Warning
Virtual files (in the Data subfolder) will not appear in the save dialog box, unless you activate the security option Do not hide virtual files in open/save dialog boxes.
How to create and save files with PHP
Selecting files with PHP scripts in local applications - Upload replacement