[ SYSTEM ]: Linux wordpress 6.1.0-44-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09) x86_64
[ SERVER ]: Apache/2.4.66 (Debian) | PHP: 8.2.30
[ USER ]: www-data | IP: 172.19.30.54
GEFORCE FILE MANAGER
/
var
/
www
/
html
/
wordpress
/
wp-content
/
plugins
/
wp-optimize
/
vendor
/
rosell-dk
/
exec-with-fallback
/
src
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
π Availability.php
1,074 B
SET
[ EDIT ]
|
[ DEL ]
π ExecWithFallback.php
4,503 B
SET
[ EDIT ]
|
[ DEL ]
π ExecWithFallbackNoMercy.php
1,855 B
SET
[ EDIT ]
|
[ DEL ]
π POpen.php
1,575 B
SET
[ EDIT ]
|
[ DEL ]
π Passthru.php
1,613 B
SET
[ EDIT ]
|
[ DEL ]
π ProcOpen.php
2,105 B
SET
[ EDIT ]
|
[ DEL ]
π ShellExec.php
2,139 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: POpen.php
<?php namespace ExecWithFallback; /** * Emulate exec() with system() * * @package ExecWithFallback * @author BjΓΈrn Rosell <it@rosell.dk> */ class POpen { /** * Emulate exec() with system() * * @param string $command The command to execute * @param string &$output (optional) * @param int &$result_code (optional) * * @return string | false The last line of output or false in case of failure */ public static function exec($command, &$output = null, &$result_code = null) { $handle = @popen($command, "r"); if ($handle === false) { return false; } $result = ''; while (!@feof($handle)) { $result .= fread($handle, 1024); } //Note: Unix Only: // pclose() is internally implemented using the waitpid(3) system call. // To obtain the real exit status code the pcntl_wexitstatus() function should be used. $result_code = pclose($handle); $theOutput = preg_split('/\s*\r\n|\s*\n\r|\s*\n|\s*\r/', $result); // remove the last element if it is blank if ((count($theOutput) > 0) && ($theOutput[count($theOutput) -1] == '')) { array_pop($theOutput); } if (count($theOutput) == 0) { return ''; } if (gettype($output) == 'array') { foreach ($theOutput as $line) { $output[] = $line; } } else { $output = $theOutput; } return $theOutput[count($theOutput) -1]; } }