ivanoff/antivirus-microservice

A PHP client for Antivirus Microservice

dev-master 2024-08-11 14:29 UTC

This package is auto-updated.

Last update: 2025-05-11 16:18:20 UTC


README

antivirus-microservice

Antivirus Microservice PHP Client

This is a PHP client for the free and fully functional Antivirus Microservice Server. It allows you to easily integrate virus scanning capabilities into your PHP applications.

Table of Contents

Installation

You can install this package via Composer:

composer require ivanoff/antivirus-microservice

Usage

Here's a basic example of how to use the Antivirus Microservice client:

<?php

require_once 'vendor/autoload.php';

$antivirus = new AntivirusMicroservice('http://localhost:3000');
$result = $antivirus->checkFile('/path/to/your/file.txt');

if ($result['ok']) {
    echo "File is clean\n";
} else {
    echo "File is infected: " . implode(', ', $result['viruses']) . "\n";
}

API

The AntivirusMicroservice class provides the following method:

  • checkFile($filePath): Scans the provided file for viruses. Returns an array with:
    • ok: boolean indicating whether the file is clean (true) or infected (false)
    • viruses: an array of detected virus names (only present if ok is false)

Configuration

When initializing the AntivirusMicroservice class, you can specify the URL of your Antivirus Microservice server. By default, it uses http://localhost:3000.

$antivirus = new AntivirusMicroservice('http://your-custom-url:port');

Error Handling

The client handles basic errors:

  • If the file is not found, it returns ['ok' => false, 'viruses' => ['File not found']].
  • If there's an error communicating with the server, it returns ['ok' => false, 'viruses' => ['Error checking file']].

Requirements

  • PHP 7.0 or higher
  • cURL extension enabled

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is open-sourced software licensed under the MIT license.

Support

If you encounter any problems or have questions, please open an issue in the project repository.

Created by

Dimitry Ivanov 2@ivanoff.org.ua # curl -A cv ivanoff.org.ua