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

    Creare cartelle su hosting windows

    Ciao a tutti,

    devo modificare un sito ad un cliente il quale ha uno spazio windows per cui ho alcuni problemi con la gestione delle cartelle.

    In pratica al mio script serve creare delle cartelle dinamiche, es: Lui crea un nuovo annuncio con ID 36 ed il mio script dovrà creare una cartella col nome 36 che contenga tutti i file inerenti poi a quell'annuncio.

    Ho quindi utilizzato questo codice per vedere se prima mi creava delle cartelle utilizzando valori fissi e non dinamici:

    Codice PHP:
    if(!file_exists($this->up_dir)){         
    Mkdir("d:\xxxxx.it\xxxx.it\album\prova"0777);     

    La cartella album l'ho creata io manualmente, mentre la cartella prova si dovrebbe creare al suo interno in maniera automatica... ma questo non accade.

    Cosa sbaglio?
    www.mtlook.it - Marketing & Image Management
    www.advise.it - Soluzioni informatiche per la tua azienda

  2. #2
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    ci sono 100000 post identici..
    su win non puoi creare cartelle e il CHMOD è una "caratteristica" di linux.
    su win hai SOLO la cartella public che ha i permessi in scrittura. non so nemmeno se là dentro puoi creare dinamicamente cartelle..

  3. #3
    Originariamente inviato da telegio
    ci sono 100000 post identici..
    su win non puoi creare cartelle e il CHMOD è una "caratteristica" di linux.
    su win hai SOLO la cartella public che ha i permessi in scrittura. non so nemmeno se là dentro puoi creare dinamicamente cartelle..
    se gira sotto xampp puoi crearle eccome... vale sempre il discorso del chmod
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    Originariamente inviato da Santino83_02
    se gira sotto xampp puoi crearle eccome...
    FORSE in locale.. ma sui server web la vedo tosta.. e comunque non ci riesce quindi c'ho ragggggione io!! ah, ah, ah!! dai scherzo..

  5. #5
    Azz... e quindi non posso fare proprio niente? _( Non c'è un altro metodo?
    www.mtlook.it - Marketing & Image Management
    www.advise.it - Soluzioni informatiche per la tua azienda

  6. #6
    Ora vi posto il problema, magari voi sapete darmi qualche altra soluzione. Questo è un sito di un agenzia immobiliare e quindi mettono annunci circa case in vendita ed in affito.

    Io ho fatto in modo che sulla dome compare l'immagine con il titolo e cliccandoci sopra si apre la pagina con la descrizione dettagliata dell'immobile. Ora il cliente ha chiesto una galleria di immagini per ogni annuncio, per cui io avevo pensato ad un pannello admin dove loro possono aggiungere x foto per l'annuncio y ed in automatico si creava sul server una cartella di nome y con le foto x.

    Ovviamente mi serviva creare la cartella dinamicamente perchè loro gli annunci li aggiungono giornalmente tramite un altro pannello admin che gl ho creato.

    Ora quello che mi chiedevo è se era possibile fare questa cosa in altro modo visto che il server è windows.

    Grazie
    www.mtlook.it - Marketing & Image Management
    www.advise.it - Soluzioni informatiche per la tua azienda

  7. #7
    Originariamente inviato da telegio
    FORSE in locale.. ma sui server web la vedo tosta.. e comunque non ci riesce quindi c'ho ragggggione io!! ah, ah, ah!! dai scherzo..
    io con lo script seguente riesco a creare/rimuovere cartelle sul server... il server è o puro unix o windows con xampp... windows con iis non ho mai provato sinceramente

    ovviamente, la cartella base dentro la quale si scrivono le altre cartelle deve avere i permessi di scrittura abilitati, altrimenti è un cavolo e tutt'uno

    Codice PHP:
    <?php

        
    if(!defined('SLASH'))
            
    define('SLASH','/');
        
        class 
    DDirectory{
            
            public static function 
    getPath($path = array()){
                
    $entire_path '';
                
                foreach(
    $path as $folder){
                    
                    
    $entire_path .= $folder;
                    
    $entire_path .= SLASH;
                }
                
                return 
    $entire_path;
            }
            
            public static function 
    moveDirectory($oldpath,$newpath){
                
    //copy all items in oldpath to newpath    
                
    if(is_dir($oldpath)){
                    
                    
    $dir_handle opendir($oldpath);
                    
                    if (!
    $dir_handle)
                        return 
    false;
                    
                    while(
    $file readdir($dir_handle)) {
                        if (
    $file != "." && $file != "..") {
                            if (!
    is_dir($oldpath.SLASH.$file)){
                                
    //sposto un file
                                
    exec('mv -u '.$oldpath.SLASH.$file.$newpath");
                            }else{
                                
    //sposto una directory
                                
    $path DDirectory::createPath(array($newpath,$file));
                                
    DDirectory::moveDirectory($oldpath.SLASH.$file,$newpath.SLASH.$file);
                            }
                        }
                    }
                    
    closedir($dir_handle);
                    
    DDirectory::removeDirectory$oldpath );
                }
            }
            
            
    //create the path structure... only folders
            
    public static function createPath($path = array()){
                
                
    $entire_path '';
                
                foreach(
    $path as $folder){
                    
                    
    $entire_path .= $folder;
                    
                    if(!
    file_exists($entire_path)){
                        
    $r = @mkdir($entire_path,0755);
                        
                        if(!
    $r)
                            return 
    false;
                    }
                    
                    
    $entire_path .= SLASH;
                }
                
                return 
    $entire_path;
                
            }
            
            public static function 
    removeDirectory$dir ) { 
        
              if (
    strtoupper(substr(PHP_OS03)) == 'WIN') { 
                  
                if (
    is_dir($dir))
                    
    $dir_handle opendir($dir);
                    
                if (!
    $dir_handle)
                    return 
    false;
                    
                while(
    $file readdir($dir_handle)) {
                    if (
    $file != "." && $file != "..") {
                        if (!
    is_dir($dir.SLASH.$file))
                            
    Directory::removeFile($dir.SLASH.$file);
                        else
                            
    Directory::removeDirectory($dir.SLASH.$file);          
                    }
                }
                
    closedir($dir_handle);
                
    rmdir($dir);
                
              } else { 
              
                
    $dir str_replace(" ","\\ ",$dir); //for mac e linux
                
    exec"rm -rf $dir); 
              } 
              
              return 
    true;
            } 

            public static function 
    removeFile$file ) { 
                
              if (
    strtoupper(substr(PHP_OS03)) == 'WIN') { 
                    return 
    unlink($file);
              } else { 
                
    $file str_replace(" ","\\ ",$file); //for mac e linux
                
    exec"rm -rf $file); 
              } 
              
              return 
    true;
            } 
            
        }



    ?>
    ovviamente la classe è una bozza grossolana perchè mi è servita solo in un paio di progettini

    @siriuxs
    ovviamente si può fare se crei la cartella dentro la cartella che ha i permessi di scrittura sul server. In windows chmod non funge, però la cartella che vai a creare dovrebbe ereditare i permessi della cartella madre.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    Grazie mille per l'aiuto, dopo proverò. Una domanda però... come faccio a vedere se è IIS o XAMPP? Ho fatto un file php con la funzione phpinfo()... dove devo leggere per capire su che server sono?
    www.mtlook.it - Marketing & Image Management
    www.advise.it - Soluzioni informatiche per la tua azienda

  9. #9
    Originariamente inviato da siriuxs
    Grazie mille per l'aiuto, dopo proverò. Una domanda però... come faccio a vedere se è IIS o XAMPP? Ho fatto un file php con la funzione phpinfo()... dove devo leggere per capire su che server sono?
    fai un basename su un file del tuo sito e vedi che ti stampa... tanto gli hoster so caciaroni quindi ti troverai una path del tipo c:\xampp
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.