Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    problemi con include o require

    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...

  2. #2

    Re: problemi con include o require

    è un problema di percorsi, ad esempio, se hai

    root/forum/uploads/resize.php
    root/forum/test.php

    test.php farà l'inclusione di resize.php correttamente ma resize.php andrà a cercare i file in
    root/uploads
    e non in
    root/forum/uploads
    perchè hai messo percorsi relativi

    inoltre, se il file resize.php si trova nella cartella delle immagini, tenterà di creare un thumb anche del file resize.php quindi modificherei anche quella parte dello script in questo modo

    codice:
    ...
    while (false !== ($filename = readdir($open))) {
    if(in_array(array_pop(explode(".", $filename)), array('jpg', 'jpeg'))) {
        // crea thumb
    } 
    ...
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  3. #3
    Grazie per la risposta
    Quindi, se non ho capito male, mi basta modificare questa line di codice in resize.php
    Codice PHP:
    <?php
    // Stabilisco la directory da esaminare
    $dir "../uploads";
    // Apro la directory
    $open opendir($dir);

    // ecc.....
    con questa?
    Codice PHP:
    <?php
    // Stabilisco la directory da esaminare
    $dir "../forum/uploads";
    // Apro la directory
    $open opendir($dir);

    // ecc.....
    provo, ma ho paura poi di avere problemi con opendir() in resize.php ...
    Non capisco perchè non si possano usare url assoluti!! Sarebbe tutto più semplice in casi come questo...

  4. #4
    E infatti non funziona..
    Non so come modificare i percorsi di entrambi i file, sono proprio ignorante

    Qualcuno può dirmi cosa devo scrivere?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.