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

    [PHP] variabile globale

    Ciao a tutti!
    Devo copiare il contenuto di una directory in un file di testo.
    Il mio problema è che il contenuto mi arriva nullo,e penso sia da ricercare nel fatto che la variabile $file non è globale ma locale,almeno penso!!
    Dove sbaglio?



    <?php

    // Apro una directory e leggo il contenuto

    $dir = "c:\data\playlist";

    if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {

    echo "$file";
    echo"
    ";
    }
    }


    // Verifico che il file esista e sia riscrivibile


    $filename = 'c:\data\auto\esempio.txt;
    $somecontent="$file";

    if (is_writable($filename)) {

    if (!$handle = fopen($filename, 'a')) {
    echo "Non si riesce ad aprire il file ($filename)";
    exit;
    }
    // Scrivo $somecontent nel file aperto.
    if (!fwrite($handle, $somecontent) ===FALSE) {
    echo "Non si riesce a scrivere nel file ($filename)";
    exit;
    }


    fclose($handle);

    } else {
    echo "Il file $filename non è accessibile";
    }
    }


    ?>

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    c:\data\playlist è il percorso assoluto della directory nella tua webroot?

    se non è nella webroot allora ovviamente non riesce a prenderne i files....

  3. #3
    c:\data\playlist viene raggiunta tranquillamente.
    Se visualizzo a monitor con echo"$file"; (all'interno della funzione)
    vedo esattamente i file contenuti.

    Quando però scrivo $file sul file esempio.txt non mi viene copiato niente.

    Spero di essere stato sufficentemente chiaro.

  4. #4
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Codice PHP:
    <?php

    $dir 
    "c:\data\playlist";

    if (
    is_dir($dir)) 
    {
        if (
    $dh opendir($dir)) 
        {
            
    $f "";
            while ((
    $file readdir($dh)) !== false
            {
                
    $f .= $file."\n";
                echo 
    "
    "
    ;
            }
        }
        
        
    $filename 'c:\data\auto\esempio.txt';
        
    $somecontent $f;
        
        if (
    is_writable($filename)) 
        {
            if (!
    $handle fopen($filename'r')) 
            {
                echo 
    "Non si riesce ad aprire il file ($filename)";
                exit;
            }
            
            if (!
    fwrite($handle$somecontent) ===FALSE
            {
                echo 
    "Non si riesce a scrivere nel file ($filename)";
                exit;
            }
        
            
    fclose($handle);
        
        } 
        else 
        {
            echo 
    "Il file $filename non è accessibile";
        }
    }


    ?>

  5. #5
    Adesso $file è a posto,ma il mio esempio.txt continua ad essere vuoto!!!!
    Cosa sbaglio ancora?

    Ricapitolando il mio programma gira in locale con easyphp e apre una directory in c:\data\playlist
    Ne copia il contenuto (e.s. file1.txt-file2.htm-file3.mpg )e lo incolla in un file esempio.txt che si trova in c:\data\auto\

    Spero di averti dato un po' più di info!!!!!
    GRAZIE

  6. #6

  7. #7
    UP!!!!!!!!
    NESSUNO????

  8. #8
    Ok risolto,adesso riesco a copiare i files,ma alla fine di ognuno di questi mi ritrovo un quadratino .
    Sapete dirmi da cosa sono dovuti?

  9. #9
    up!please!

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.