Ciao,
chiedo scusa anticipatamente perchè non conosco il linguaggio PHP (vengo da scuola ASP) ma mi trovo a dover utilizzare uno script per il cropping delle immagini che funziona in PHP.
Sono arrivato ad impostare correttamente i parametri nei file PHP per eseguire correttamente le operazioni, il tutto funziona però solo se eseguo le pagine sul dominio (aruba), mentre in locale (Windows 10 IIS + PHP) non funziona.
questo il codice del file canvas.php
codice:
<?php
$nomeimmagine = $_REQUEST['id'];
$sezione = $_REQUEST['sez'];
header('Content-Type: application/json');
//ini_set('memory_limit','16M');
$error = false;
$absolutedir = dirname(__FILE__);
$dir = '/../../../public/images/' . $sezione . '/';
$serverdir = $absolutedir.$dir;
$tmp = explode(',',$_POST['data']);
$imgdata = base64_decode($tmp[1]);
//$extension = strtolower(end(explode('.',$_POST['name'])));
//$filename = substr($_POST['name'],0,-(strlen($extension) + 1)).'.'.substr(sha1(time()),0,6).'.'.$extension;
$extension = 'jpg';
$filename = $nomeimmagine . '.' . $extension;
$handle = fopen($serverdir.$filename,'w');
fwrite($handle, $imgdata);
fclose($handle);
$response = array(
"status" => "success",
"url" => $dir.$filename.'?'.time(), //added the time to force update when editting multiple times
"filename" => $filename
);
if (!empty($_POST['original'])) {
$tmp = explode(',',$_POST['original']);
$originaldata = base64_decode($tmp[1]);
$original = substr($_POST['name'],0,-(strlen($extension) + 1)).'.'.substr(sha1(time()),0,6).'.original.'.$extension;
$handle = fopen($serverdir.$original,'w');
fwrite($handle, $originaldata);
fclose($handle);
$response['original'] = $original;
}
print json_encode($response);
Ho impostato la variabile $dir inserendo il percorso dove dovrebbe salvare le immagini.
La cartella dove risiedono i files è "/admin/scripts/crop/"
Cosa sbaglio o cosa dovrei sapere ?
Poi anche:
- Sarebbe possibile inserire un percorso assoluto ? ad esempio partendo sempre dal root tipo /public/images/..... così da non avere dubbi sul percorso anche in caso di spostamento dello script.
- Non è necessario chiudere il linguaggio con "?>" ? Nei file originali non viene mai chiuso.
Grazie mille