Kuvien pakkaaminen ImageRecycle API:lla (The PHP Script)?
ImageRecycle tarjoaa sovellusliittymiä kuvan/pdf-tiedoston lisäämiseen, pakkaamiseen ja lataamiseen. Tämä tekee asioista mielenkiintoisia, joten periaatteessa haluan nykyään pienentää kuvia vähentääkseni niiden tilaa VPS-palvelimella. ImageRecycle tukee seuraavien tiedostopäätteiden optimointia: JPEG/JPG, GIF, BMP, PNG, PDF.
kuvien kierrätys
Tässä on API-dokumentaatio uuden kuvan lisäämiseksi. POST /kuvat
Esimerkki:
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>'
Jos sen sijaan määritetään paikallinen tiedosto, sinun on käytettävä seuraavaa syntaksia:
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 tässä on ImageRecycle – tukitiimin apu. Kiitos nopeista vastauksista:
Jos haluat lähettää palvelimellesi tallennetun kuvan, se ei ole yksinkertainen POST-kysely, sinun on lähetettävä POST-kysely, jonka sisältötyyppi on multipart/form-data.
Curlilla voit tehdä sen käyttämällä -F-vaihtoehtoa -d-vaihtoehdon sijaan.
Sinun on myös määritettävä parametrilla on tiedosto käyttämällä @-merkkiä ennen tiedoston nimeä.
Jos haluat lisätietoja, se on dokumentoitu curl man -sivulla, joka on saatavilla verkossa: http://curl.haxx.se/docs/manpage.htmlTässä on komentorivi, jota sinun tulee käyttää:
curl -X POST -F ’auth={"avain":"oma_api_avain","salainen":"oma_api_salaisuus"}’ -F ’file=@the_file_to_send.png’ -F ’params={"pakkaustyyppi":"häviöinen" }’ ’ https://api.imagerecycle.com/v1/images ’
Voit käyttää parametreja
– compression_type":”lossy” tai compression_type”:”lossless” häviöttömään tai häviölliseen pakkaukseen
– ”resize”:{”width”:100,”height”:100} muuttaaksesi kuvan kokoa tarvittaessa. voi määrittää vain tai korkeudenTässä tapauksessa pyyntö olisi:
curl -X POST -F ’auth={"avain":"oma_api_avain","salainen":"oma_api_salaisuus"}’ -F ’file=@the_file_to_send.png’ -F ’params={"pakkaustyyppi":"häviöinen" "muuta kokoa":{"width":100,"height":100} }’ ’ https://api.imagerecycle.com/v1/images ’
Joten voimme kirjoittaa PHP-skriptin, kuten seuraamalla, optimoidaksemme paikalliset kuvat (pienennä tiedostokokoa koskematta mittoihin tai kuviin tai PDF -tiedostoon ).
- POSTAA paikallinen kuva/pdf ImageRecycle- palvelimelle POST /images API :lla
- Nimeä paikallinen kuva/pdf uudelleen varmuuskopion saamiseksi
- Lataa pakattu tiedosto ImageRecyclesta
Tässä on kuvakaappaus, varmista, että vaihdat app_key ja app_seret.
imagerecycle-image-compression
Ja palvelin vahvistaa tämän optimoinnin [Optimointihistoria]-paneelista.
imagerecycle-image-compression-history
Minulla on test.jpg, joka on optimoitu 1,7 miljoonasta 1,6 miljoonaan. Se ei ehkä ole paljon, ja jos valitsen muita asetuksia, se saattaa tuoda minulle enemmän säästöjä (kuten koon muuttaminen). [Kirjoitan toisen postauksen ImageRecyclen ja muiden kilpailijoiden, kuten Imagefyn, arvioinnista .
Täydellinen lähdekoodi:
#!/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);
}
}
Sitten olet suorittanut bash-silmukan toistaaksesi kaikki kuvat/ PDF, jonka pitäisi antaa sinulle välitön tallennus.
Olen onnistunut säästämään yli 2 Gt SSD -tilaa VPS:ssä käyttämällä yllä olevaa komentosarjaa.
Liity ImageRecycleen ja käytä kuponkia IR-PARTNER-20 saadaksesi 20 % alennuksen ensimmäisestä laskusta, joka on vain lukijoilleni!

