Copyleaks SDK is a simple framework that allows you to scan text for plagiarism and detect content distribution online, using the Copyleaks plagiarism checker cloud.
Using Copyleaks SDK you can detect plagiarism in:
- Online content and webpages
- Local and cloud files (see supported files)
- Free text
- Images of text(using OCR) - scanning pictures with textual content (see supported files)
Integrate with the Copyleaks SDK in one of two options:
- Recommended: Use the Package Manager - Packagist.
When integrating that way you will automatically be able to update the SDK to its latest version:composer require copyleaks/php-plagiarism-checker @dev
Following that, in order to use the SDK, add this to your code://copyleaks dependencies include_once( __DIR__.'/vendor/copyleaks/php-plagiarism-checker/autoload.php'); use Copyleaks\CopyleaksCloud; use Copyleaks\CopyleaksProcess;
- Download the code from this repository and add it to your project.
To use the Copyleaks API you need to first have a Copyleaks account. The registration to Copyleaks takes a minute and is free of charge. Signup and confirm your account to finalize your registration.
You can generate your personal API key. Do so by entering your dashboard (Businesses dashboard/Academic dashboard/Websites dashboard), and under 'Access Keys' you will be able to see and generate your API keys.
For more information check out our API guide.
See example_asynchronous.php
for an example using callbacks and example_synchronous.php
for a synced example that update the status programatically.
To scan for plagiarism the URL: 'https://www.copyleaks.com'. All you have to do is to update the following two lines with your email and API key:
$email = 'Your-Email-Address-Here'; $apiKey = 'Your-API-Key-Here';
Add this additional header to get a completion callback:
$additionalHeaders = array($clConst['HTTP_CALLBACK'].': http://your.website.com/callbacks/'
For testing purposes you can use http://requestb.in
Create a process using createByUrl:
$process = $clCloud->createByURL('https://www.copyleaks.com',$additionalHeaders);
Available create methods are: createByURL
, createByFile
, createByFiles
, createByOCR
and createByText
.
If you don't want to use callbacks you can wait for the scan to complete:
while ($process->getStatus() != 100){ sleep(2); }
And get the results:
$results = $process->getResult(); // Print the results foreach ($results as $result) { echo $result; }
You can set specific headers:
$additionalHeaders = array( $clConst['SANDBOX_MODE_HEADER'], // Sandbox mode - Scan without consuming any credits and get back dummy results $clConst['HTTP_CALLBACK'].': http://your.website.com/callbacks/', # For a fast testing of callbacks option we recommend to use http://requestb.in $clConst['IN_PROGRESS_RESULT'].': http://your.website.com/callback/results/, $clConst['EMAIL_CALLBACK'].': [email protected]', $clConst['CLIENT_CUSTOM_PREFIX'].'name: some name' $clConst['PARTIAL_SCAN_HEADER'], $clConst['COMPARE_ONLY'] # Compare files in between - available only on createByFiles $clConst['IMPORT_FILE_TO_DATABASE'] # Import your file to our database only );
For more info about the optional headers see API Request Headers