Kuidas pilte tihendada ImageRecycle API (PHP-skripti) abil?
ImageRecycle pakub API -sid pildi/pdf-i lisamiseks, tihendamiseks ja allalaadimiseks. See muudab asjad huvitavaks, nii et põhimõtteliselt tahan tänapäeval pilte kahandada, et vähendada nende VPS-serveris kasutatavat ruumi. ImageRecycle toetab järgmiste faililaiendite optimeerimist: JPEG/JPG, GIF, BMP, PNG, PDF.
pildi taaskasutus
Siin on API dokumentatsioon uue pildi lisamiseks. POSTITA /pildid
Näide:
curl -X POST
-d 'auth={"key":"your_api_key","secret":"your_api_secret"}'
-d 'url=<a class="vglnk" target="_blank" href="https://uploadbeta.com/share-image/2xw" rel="nofollow"><span>https</span><span>://</span><span>uploadbeta</span><span>.</span><span>com</span><span>/</span><span>share</span><span>-</span><span>image</span><span>/</span><span>2xw</span></a>'
-d 'params={"compression_type":"lossy"}'
'<a class="vglnk" target="_blank" href="https://api.imagerecycle.com/v1/images" rel="nofollow"><span>https</span><span>://</span><span>api</span><span>.</span><span>imagerecycle</span><span>.</span><span>com</span><span>/</span><span>v1</span><span>/</span><span>images</span></a>'
Kui selle asemel on määratud kohalik fail, peate kasutama järgmist süntaksit:
curl -X POST
-F 'auth={"key":"your_api_key","secret":"your_api_secret"}'
-F 'file=@local_file.jpg'
-F 'params={"compression_type":"lossy"}'
'<a class="vglnk" target="_blank" href="https://api.imagerecycle.com/v1/images" rel="nofollow"><span>https</span><span>://</span><span>api</span><span>.</span><span>imagerecycle</span><span>.</span><span>com</span><span>/</span><span>v1</span><span>/</span><span>images</span></a>'
Ja siin on abi ImageRecycle’i tugimeeskonnalt. Täname kiirete vastuste eest:
Kui soovite saata oma serverisse salvestatud pilti, see pole lihtne POST-päring, peate saatma POST-päringu sisutüübiga multipart/form-data.
Curl abil saate seda teha, kasutades suvandi -d asemel suvandit -F.
Samuti peate määrama parameetriga fail, kasutades faili nime ees @.
Kui soovite lisateavet, on see dokumenteeritud curl man-lehel, mis on saadaval Internetis: http://curl.haxx.se/docs/manpage.htmlSiin on käsurida, mida peaksite kasutama:
curl -X POST -F ‘auth={"võti":"teie_api_võti","salajane":"teie_api_saladus"}’ -F ‘file=@the_file_to_send.png’ -F ‘params={"compression_type":"kadudega" }’ ‘ https://api.imagerecycle.com/v1/images ‘
Saate kasutada parameetreid
– compression_type":”lossy” või compression_type”:”lossless” kadudeta või kadudeta tihendamiseks
– “resize”:{“width”:100,”height”:100}, et vajadusel pildi suurust muuta. saab määrata ainult või kõrgusegaSel juhul oleks taotlus järgmine:
curl -X POST -F ‘auth={"võti":"teie_api_võti","salajane":"teie_api_saladus"}’ -F ‘file=@the_file_to_send.png’ -F ‘params={"compression_type":"kadudega" "suuruse muutmine":{"width":100,"height":100} }’ ‘ https://api.imagerecycle.com/v1/images ‘
Seega saame kohalike piltide optimeerimiseks kirjutada PHP-skripti, nagu järgides (faili suurust vähendades mõõtmeid või pilte või PDF -i puudutamata ).
- POSTISTA kohalik pilt/pdf- i ImageRecycle’i serverisse, kasutades POST /images API -t
- Varukoopia saamiseks nimetage kohalik pilt/pdf ümber
- Laadige pakitud fail alla ImageRecyclist
Siin on ekraanipilt, asendage kindlasti app_key ja app_seret.
imagerecycle-image-compression
Ja server kinnitab selle optimeerimise paneelil [Optimeerimise ajalugu].
imagerecycle-image-compression-history
Mul on test.jpg, mis on optimeeritud 1,7 miljonilt 1,6 miljonile. Seda ei pruugi olla palju ja kui valin muud sätted, võib see mulle rohkem säästa (nt suuruse muutmine). [Ma kirjutan veel ühe postituse ImageRecycle’i ja teiste konkurentide, näiteks Imagefy arvustuste kohta.
Täielik lähtekood:
#!/usr/bin/php
<?php
// Author: <a class="vglnk" target="_blank" href="https://helloacm.com" rel="nofollow"><span>https</span><span>://</span><span>helloacm</span><span>.</span><span>com</span></a>
$key = "app_key";
$secret = "app_secret";
function ImageRecycle($img, $key, $secret) {
$cmd = "curl -X POST -F 'auth={"key":"$key","secret":"$secret"}' -F 'file=@$img' -F 'params={"compression_type":"lossy"}' '<a class="vglnk" target="_blank" href="https://api.imagerecycle.com/v1/images" rel="nofollow"><span>https</span><span>://</span><span>api</span><span>.</span><span>imagerecycle</span><span>.</span><span>com</span><span>/</span><span>v1</span><span>/</span><span>images</span></a>'";
echo $cmd. "n";
$rtn = json_decode(shell_exec($cmd), true);
var_dump($rtn);
$err = 201;
if (isset($rtn['errCode'])) {
$err = (integer)$rtn['errCode'];
}
$id = 0;
if (isset($rtn['id'])) {
$id = (integer)$rtn['id'];
}
if (($err == 201) || ($id > 0)) {
$optimized_url = $rtn['optimized_url'];
if (strlen($optimized_url)) {
echo "Renaming original $img to ${img}_original n";
rename($img, $img."_original");
}
echo "Downloading $optimized_url ...n";
$optimized_content = file_get_contents($optimized_url);
echo "Saving optimised to $img ...n";
file_put_contents($img, $optimized_content);
}
}
foreach (array_slice($argv, 1) as $img) {
if (!file_exists($img)) {
echo $img. " not found.n";
} else {
ImageRecycle($img, $key, $secret);
}
}
Seejärel käivitasite kõigi piltide/ PDF -i itereerimiseks bash-tsükli, mis peaks andma teile kohese salvestamise.
Mul on õnnestunud ülaltoodud skripti abil VPS -is säästa üle 2 GB SSD -ruumi.
Liituge ImageRecycle’iga ja kasutage kupongi IR-PARTNER-20, et saada esimeselt arvelt 20% soodsamalt, ainult minu lugejatele!


