Salve a tutti!
Sono completamente all'asciutto di programmazione e di php, però ho cercato con un pò di fantasia di modificare degli script, ma adesso ho un problema:
Non capisco come si utilizza la funzione include() o require().
Ho fatto una ricerca sul forum ma ho solo trovato conferma che quello che ho scritto DEVE andare!!
Ho uno script resize.php nella cartella forum/uploads/ che contiene un ciclo while. se lo eseguo direttamente funziona, se invece voglio che funzioni richiamato da un altro file, non parte...
ho provato il caso più semplice per vedere se funziona:
ho creato un file test.php nella cartella forum/
forum/test.php
Codice PHP:
<?
require('uploads/resize.php');
?>
e non succede niente... ho provato anche con include.
forum/uploads/resize.php
Codice PHP:
<?php
// Stabilisco la directory da esaminare
$dir = "../uploads";
// Apro la directory
$open = opendir($dir);
// Ciclo ogni foto della directory
while (false !== ($filename = readdir($open))) {
if ($filename =='.' or $filename==".." or $filename=="index.php"){}
// Se il file non è index.php ( quello contenente lo script )
// Creo la nuova foto con la qualità che preferisco
else{
// Stabilisco che qualità JPEG desidero
$quality = 85;
// Creo un immagine temporanea a partire dall'originale
$tmp = imagecreatefromjpeg($filename);
// Prelevo larghezza ed altezza della foto originale
$maxwidth = "400";
$width = imagesx($tmp);
$height = imagesy($tmp);
//verifico se è troppo grande
if ($width > $maxwidth) {
$imageprop=($maxwidth*100)/$width;
$imagevsize= ($height*$imageprop)/100 ;
$newwidth=$maxwidth;
$newheight=ceil($imagevsize);
}
else {
$newwidth=$width;
$newheight=$height;
}
// Alloco la nuova immagine con gli stessi parametri dell'originale
$new = imagecreatetruecolor($newwidth,$newheight);
// Creo la nuova immagine identica all'originale
ImageCopyResized($new, $tmp,0,0,0,0,$newwidth, $newheight, $width, $height);
// Modifico la qualità dell'immagine appena creata e la sovrascrivo all'originale
ImageJPEG($new,'thumb/prova_'.$filename,$quality);
// Mando a video un semplice output che mi rassicura che l'operazione èandata a buon fine
print $filename."= OK\n\n";
}
}
?>
Andando a vedere nella cartella /thumb/ non c'è niente...
Se eseguo il file resize.php direttamente invece ci trovo le immagini volute.
Non so proprio cosa ci possa essere di sbagliato...