Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314

    Problemi Variabili o Costanti

    Salve, ho un tilt

    Ho questo file (ci sono degli errori di stile ma non è quello il problema)

    Codice PHP:
    <?php
    function cartelle($cartella)
    {
        echo 
    "<div id='foldimg'>";
        
    $startdir=DRDC;
        
    $directories array_filter(glob($cartella.'*',GLOB_ONLYDIR ));
           if(
    $startdir!=$cartella)
        {
            
    $parentdir=dirname($cartella);
            if ((
    $parentdir.'/')==DRDC)
            {
                echo 
    "[url='".$_SERVER['][img]".PAIMG."folderup.png[/img]<h6>..</h6>[/url]";
            }
            else
            {
            $dirup=urlencode(str_ireplace($startdir, '', $parentdir)); 
    echo "[url=".$_SERVER['
    PHP_SELF']."][img]".PAIMG."folderup.png[/img]<h6>..</h6>[/url]";
            }
        }
        foreach ($directories as $key => $value)  
           {
            $dir= str_replace($startdir,'',$value);
            $dirx=str_ireplace($_GET['
    cartella'].'/','',$dir);
            echo "[url=".$_SERVER['
    PHP_SELF']."][img]".PAIMG."folder.png[/img]<h6>$dirx</h6>[/url]";
          
           }
     
    echo "</div>";
    echo "<div id='
    titlefold'>";

    if ($cartella!=DRDC)
    {
    $h3 =str_ireplace($parentdir,'',$cartella);
    $h3=str_ireplace('
    /','',$h3);    
    }
    else
    {
        $h3="DOWNLOAD CENTER";
    }
    echo "<h3>".$h3."</h3>";    

    echo "</div>";
    echo "<div id='
    imggalls'>";
    $imggalls=array_filter(glob($cartella.'
    *.*', GLOB_BRACE)); 
    echo "<ul class='
    gallery clearfix'>";
                         foreach ($imggalls as $key => $value)  
       {
        $imgv=str_ireplace($cartella,'',$value);
            $value=str_ireplace($cartella,'',$value);
    $cart=str_ireplace(DRDC,PADC,$cartella);    
    $imgurl=$cart.$value;
            $ext = pathinfo($imgurl, PATHINFO_EXTENSION);
    $imgfile = PAIMG."estensioni/".$ext.".png";
    echo "[img]".$imgfile."[/img]";
    echo $value;
    echo "
    ";
     
       }    
    echo "[/list]";
    echo "</div>";




    }
    ?>
    <div id='
    galleria'>


    <?php
    if (isset($_GET['
    cartella']))
    {
        cartelle(DRDC.$_GET['
    cartella'].'/');
    }
    else
    {
        cartelle(DRDC);    
    }
    ?>
    </div>
    Se io uso le costanti
    codice:
    define (DRDC, cartelladownload)
    define (PADC, percorsodownload)
    funziona correttamente; se invece utilizzo una variabile
    codice:
    $drdc=cartella download 
    $padc=percorso download
    non funziona nulla.
    Ho provato a metterle sia all'inizio sia prima dell'if isset
    Ho provato a metterle anche come global

    Dove sto sbagliando ??

    Daniele

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    quasi certamente: le costanti hanno uno "scope" globale, mentre tu usi tali parametri dentro le funzioni, quindi è molto probabile sia questo il problema... dici di averle impostate come globali, ma come? se le setti "fuori da tutto" devi specificare la clausola global dentro le funzioni dove le usi e non come "direttiva" in fase di inizializzazione (come avviene in certi ling. di prog.)

  3. #3
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    Ora Funziona,
    Codice PHP:
    <?php

    function cartelle($cartella)
    {
        global 
    $drdc;
        global 
    $padc;
        echo 
    "<div id='foldimg'>";
        
    $startdir=$drdc;
        
    $directories array_filter(glob($cartella.'*',GLOB_ONLYDIR ));
           if(
    $startdir!=$cartella)
        {
            
    $parentdir=dirname($cartella);
            if ((
    $parentdir.'/')==$drdc)
            {
                echo 
    "[url='".$_SERVER['][img]".PAIMG."folderup.png[/img]<h6>..</h6>[/url]";
            }
            else
            {
            $dirup=urlencode(str_ireplace($startdir, '', $parentdir)); 
    echo "[url=".$_SERVER['
    PHP_SELF']."][img]".PAIMG."folderup.png[/img]<h6>..</h6>[/url]";
            }
        }
        foreach ($directories as $key => $value)  
           {
            $dir= str_replace($startdir,'',$value);
            $dirx=str_ireplace($_GET['
    cartella'].'/','',$dir);
            echo "[url=".$_SERVER['
    PHP_SELF']."][img]".PAIMG."folder.png[/img]<h6>$dirx</h6>[/url]";
          
           }
     
    echo "</div>";
    echo "<div id='
    titlefold'>";

    if ($cartella!=$drdc)
    {
    $h3 =str_ireplace($parentdir,'',$cartella);
    $h3=str_ireplace('
    /','',$h3);    
    }
    else
    {
        $h3="DOWNLOAD CENTER";
    }
    echo "<h3>".$h3."</h3>";    

    echo "</div>";
    echo "<div id='
    imggalls'>";
    $imggalls=array_filter(glob($cartella.'
    *.*', GLOB_BRACE)); 
    echo "<ul class='
    gallery clearfix'>";
                         foreach ($imggalls as $key => $value)  
       {
        $imgv=str_ireplace($cartella,'',$value);
            $value=str_ireplace($cartella,'',$value);
    $cart=str_ireplace($drdc,$padc,$cartella);    
    $imgurl=$cart.$value;
            $ext = pathinfo($imgurl, PATHINFO_EXTENSION);
    $imgfile = PAIMG."estensioni/".$ext.".png";
    echo "[img]".$imgfile."[/img]";
    echo $value;
    echo "
    ";
     
       }    
    echo "[/list]";
    echo "</div>";




    }
    ?>
    <div id='
    galleria'>


    <?php
        global $drdc;
        global $padc;
        $drdc=DRRA.'
    dc/';
    $padc=PARA.'
    dc/';
    if (isset($_GET['
    cartella']))
    {
        cartelle($drdc.$_GET['
    cartella'].'/');
    }
    else
    {
        cartelle($drdc);    
    }
    ?>
    </div>
    Avevo messo il global alle due variabli all'interno della funzione cartella ma non nella parte prima dell'ISSET

    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Era quello... ok, ciao!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.