Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Copia ricorsiva

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    12

    Copia ricorsiva

    Salve,
    ho preso dal sito un programma PHP per eseguire la copia di una cartella e delle sue sotto cartelle e copiarle in una nuova directori ma non riesco a farlo funzionare!
    Le uniche variabili da impostare sono la sorgente (URL) dove prendere il contenuto da copiare e la destinazione dove copiare il tutto.
    Da premettere che la cartella di destinazione ha permesso 777 e gli URL sono esatti.
    Lanciando lo script non mi genera nessun errore ma di fatto la copia non viene eseguita!
    Di seguito riporto lo script così come l'ho scritto:
    <?php
    if(!empty($_GET)){
    $id_isc=$_GET['id_isc'];
    }

    $src="../free_ebook";
    $dest="../mkeb/$id_isc";
    function copia_tutto($src,$dest) {
    foreach (scandir($src) as $file) {
    if (!is_readable($src.'/'.$file)) continue;
    if (is_dir($file) && ($file!='.') && ($file!='..') ) {
    mkdir($dest . '/' . $file);
    copia_tutto($src.'/'.$file, $dest.'/'.$file);
    } else copy($src.'/'.$file, $dest.'/'.$file);
    }
    }

    header("Location: http://www.e-bookartist.com/mkeb/$id_isc/admin/login.php");
    ?>

    Qualcuno mi aiuta a capire il perchè?

    Grazie in anticipo Maurizio

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    E come potrebbe funzionare?

    La funzione la chiami solo da dentro la funzione stessa, quindi non viene eseguita.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    12
    Perdonami non sono un guru del php!
    mi potresti esprimere in codice php cosa intendi?
    Grazie nuovamente Maurizio

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Non serve essere guru di PHP, anche perché è una cosa valida per qualunque linguaggio di programmazione.
    Intendo che fuori dalla funzione, questa non viene mai chiamata una prima volta, quindi non viene mai avviata.

    Una finzione va anche chiamata, non basta definirla.

    Da qualche parte fuori dalla funzione deve esserci una cosa del tipo
    copia_tutto($src.'/'.$file, $dest.'/'.$file);

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    12
    Grazie 1000 è vero bastava mettere la riga fuori dalla funzione

Tag per questa discussione

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.