Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Rinominare cartella

  1. #1

    Rinominare cartella

    Salve a tutti
    ho un problemaino con il rinominare cartelle non vuote :

    Codice PHP:
      $dn='PHP/ordini/'.$_SESSION['cliente']['id'].'/'.$_SESSION['cliente']['numero'].'/'
      
    $dn='PHP/ordini/'.$_SESSION['cliente']['id'].'/O'.$_SESSION['cliente']['numero'].'/';
      
    rename($dir,$dn); 
    questo è il warning che ho di risposta:


    codice:
      Warning: rename(PHP/ordini/1/706115111625/,PHP/ordini/1/O706115111625/) [function.rename]: Permission denied in C:\www\clienti\PHP\agg_ordine_nuovo.php on line 202
    perchè?

    eppure qualche riga prima elimino una cartella vuota che sta all'interno della stessa directory che è stata creata nella stessa maniera:

    ... di quali permessi parla?

    Codice PHP:
    $dirT='PHP/ordini/'.$_SESSION['cliente']['id'].'/T'.$_SESSION['cliente']['numero'].'/';
    if(
    $objs = @glob($dirT."/*"))
          {
            foreach(
    $objs as $obj)
            {
                       @
    is_dir($obj)? rmdirr($obj) : @unlink($obj);
                   }

          }
          @
    rmdir($dirT); 
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  2. #2
    magari intende i permessi nativi della cartella, controllando con chmod, la cartella ha i permessi giusti per poter essere cancellata o rinominata da uno script?

  3. #3
    Originariamente inviato da goikiu
    magari intende i permessi nativi della cartella, controllando con chmod, la cartella ha i permessi giusti per poter essere cancellata o rinominata da uno script?
    mm come dovrei utilizzare questo chmod?

    cmq la cartella che elimino poco prima è stata creata insieme alla cartella che poi cerco di rinominare da uno script PHP..per questo non capisco di quali diritti parla!!!
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  4. #4
    apri con l'ftp il tuo spazio web, seleziona una delle cartelle create dallo script e controlla i permessi (chmod), probabilmente creandolo con uno script la cartella non ha i permessi giusti

  5. #5
    Originariamente inviato da goikiu
    apri con l'ftp il tuo spazio web, seleziona una delle cartelle create dallo script e controlla i permessi (chmod), probabilmente creandolo con uno script la cartella non ha i permessi giusti
    supponendo che non ho un server ftp sullo spazio web a mia disposizione, quando creo la cartella con lo script php quali diritti dovrei assegnargli e come?
    utilizzo la funzione chmod del PHP?
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  6. #6
    puoi usare anche quella si, http://www.shishii.com/chmod.html (esempio sui codici chmod)

  7. #7
    Originariamente inviato da goikiu
    puoi usare anche quella si, http://www.shishii.com/chmod.html (esempio sui codici chmod)
    allora ho fatto così:

    Codice PHP:
      if (chmod($dir0777))
        echo 
    'si'
      
    rename($dir,$dn); 
    e mi è uscito:

    codice:
    si
    Warning: rename(PHP/ordini/1/224115114229/,PHP/ordini/1/O224115114229/) [function.rename]: 
    Permission denied in C:\www\clienti\PHP\agg_ordine_nuovo.php on line 205
    non mi sembra un problema di diritti quindi!!

    N.B.

    questo errore me lo da nella mia macchina dove ho l'ambiente di prova che è windows come è windows quello del server web...
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  8. #8
    hai provato a settare pure i permessi di $dn?

  9. #9
    allora forse ho capito :

    prima di fare il rinomina cartella faccio questo :

    Codice PHP:
    if (is_dir($dir))
    {
      if (
    $handle opendir($dir))
      {
        if (
    $fhandle=fopen($dir.'Tordine.ini','wb') )
        {
          
    $riga='[CLIENTE]'."\r\n";
          
    fwrite($fhandle$riga);
          
    //.. qui vengono scritte altre righe
          
    $i=1;
          while (
    false !== ($dati readdir($handle)))
          {
            if ( (
    $dati != ".") && ($dati != "..") &&
            ( ( 
    strtolower(substr($dati,strrpos($dati,'.')))=='.jpg' )||
              (
    strtolower(substr($dati,strrpos($dati,'.')))=='.bmp' )||
              (
    strtolower(substr($dati,strrpos($dati,'.')))=='.jpeg' )||
              (
    strtolower(substr($dati,strrpos($dati,'.')))=='.tif' )||
              (
    strtolower(substr($dati,strrpos($dati,'.')))=='.gif' )) )
             {
                
    $riga='[FOTO'.$i.']'."\r\n";
                
    fwrite($fhandle$riga);
                
    //..qui vengono scritte altre righe
                
    $i++;
             }
          }
          
    fclose($fhandle);
        }
        
    fclose($handle);
      }


    se remmo queste righe il rename lo fa senza problema... perchè?
    eppure gli handle alle cartelle li chiudo!
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

  10. #10
    postando il codice e riguardandolo con dei colori diversi (perchè altrimenti non mi spiego come mai non me ne sono accorto prima!!) ho scoperto la magagna:


    doveva essere :
    Codice PHP:

    closedir
    ($handle
    invece di:
    Codice PHP:
      fclose($handle
    che rinco che sono... grazie per l'aiuto!!
    "Due cose riempiono l’animo di ammirazione e venerazione sempre nuova e crescente, quanto piú spesso e piú a lungo la riflessione si occupa di esse: il cielo stellato sopra di me, e la legge morale in me..." Immanuel Kant

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.