What are some potential pitfalls when using ftp_exec() or ftp_raw() functions in PHP for decompressing files on an FTP server?

One potential pitfall when using ftp_exec() or ftp_raw() functions in PHP for decompressing files on an FTP server is the lack of error handling and security vulnerabilities. It is important to validate user input, sanitize commands, and handle errors properly to prevent potential security risks such as command injection attacks.

// Example of using ftp_exec() with proper error handling and security measures

$ftp_server = 'ftp.example.com';
$ftp_user = 'username';
$ftp_pass = 'password';

$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user, $ftp_pass);

if ($login_result) {
    $command = "gunzip file.gz"; // Example decompress command
    $response = ftp_exec($conn_id, $command);

    if ($response !== false) {
        echo "File decompressed successfully.";
    } else {
        echo "Error decompressing file.";
    }

    ftp_close($conn_id);
} else {
    echo "Failed to connect to FTP server.";
}