isappit/ifile

IFile is a Documental Search Engine Framework to the indexing and serching in many format documents ( PDF, DOC, XLS, DOCX, MP3, JPG and many other ).


Keywords
framework, xls, zf2, pdf, doc, lucene, images, video, mp3, search engine, jpg, full text, multimedia files, antiword, ifile, ifile-binaries, mysql, php, text-search, xpdf
License
LGPL-3.0

Documentation

Logo

Welcome to the IFile 2.0 Release!

RELEASE INFORMATION

IFile 2.0dev

Please see CHANGELOG.md.

SYSTEM REQUIREMENTS

IFile 2.0 requires PHP 5.3 or later; we recommend using the latest PHP version whenever possible.

What is IFile?

IFile is a "Documental Search Engine", you can improve your applications written in PHP and allow to index and search within documents. Its facility of use allows to use it in any context or domain. One of the fundamental aspects on which is based is the ability to read texts in the documents as PDF, DOC or Excel (iFile supports more of the 25 formats) and search the terms present in the documents. The traceability of the contents of files in search results on its own website, emphasizes the importance of allowing the search of all content within own website.

The our users, uses IFile for sites of University, Scientific Communities, School, Libraries, Newspapers and all web application or site that publish documents, images or audio files, to improve the user experience, and research on the site.

Installation

The easiest way to install IFile project is to use Composer. If you don't have it already installed, then please install as per the documentation.

{
    "minimum-stability": "RC",
    "prefer-stable": true,
    "require": {
        "isappit/ifile": "2.x"
    }
}

IFile need that you configure the composer.json file with the key "minimum-stability": "RC" (or "dev") because the ZendSearch dependence is implemented only in "RC" stability.

How Download and use Binaries files in IFile

If you want use third-part component XPDF or ANTIWORD you can use this method:

Zip Archive
  • Download ZIP Archive Binaries Files from here
  • Unzip the package on your server
  • Copy the "ifile-binaries" folder in "vendor/isappit/ifile/src/Adapter/Helpers/" or configure IFile to read the "ifile-binaries" folder from external path at IFile. More detail

Example how configure external path:

 <binaries>/usr/local/var/ifile/ifile-binaries</binaries>
Clone project from git
  • Clone project
  • Copy the "ifile-binaries" folder in "vendor/isappit/ifile/src/Adapter/Helpers/" or configure IFile to read the "ifile-binaries" folder from external path at IFile. More detail

Example clone project:

git clone https://github.com/isappit/ifile-binaries.git
Install and configure third-part component

If you don't want download and install "ifile-binaries" folder and you want use XPDF or ANTIWORD installed on your server, you can configure the third-parts executable files in configuration.

For more detail how configure third-parts components in IFile see:

Configuration

The configuration file is stored in "src/Config/xml/IFileConfig.xml", but we recommended you to configure external file at project and set this file configuration first to create the IFileFactory.

Example:

    // Define external configuration file ( if not defined, IFile use: src/Config/xml/IFileConfig.xml in vendor )
    $fileConfig = "/Users/isapp/Sites/personal/github/ifile/IFileConfig.xml";
    
    // try/catch
    try {
    	// IMPORTANT: 
    	// if use a external Configuration file is need to set external configuration file first to instance IFileFactory
    	IFileConfig::setXmlConfig($fileConfig);
    	
    	// instance IFileFactory
    	$IFile = IFileFactory::getInstance();
    	.....

For more detail how configure IFile you can read the README

Documentation

The documentation of IFile is written only in "Italian" language (we hope translate in English in next release). You can read documentation from here, or you can Donwload PDF.

In IFile library exists also the example/ folder were you can find many examples to use correctly IFile.

LICENSE

The files in this archive are released under the LGPL-3.0 You can find a copy of this license in LICENSE.