PHP supporta diversi comandi per manipolare il file system. Tali comandi diventano funzioni nell'implementazione specifica del linguaggio.
Copiare file
La funzione copy
accetta due parametri: il percorso iniziale del file ed il suo percorso di destinazione. In entrambi i casi il nome del file non va omesso.
Sebbene il path può essere relativo, è sempre consigliabile usare un path assoluto soprattutto se la directory di destinazione non si trova nella directory in uso. Inoltre occorre sempre verificare che tale directory esista.
define('ABS_PATH', $_SERVER['DOCUMENT_ROOT'] . '/');
$file = ABS_PATH . 'images/test.png';
$dest_path = ABS_PATH . 'backup';
if(file_exists($dest_path)) {
if(copy($file, $dest_path . '/test_' . time() . '.png')) {
//
}
}
La funzione restituisce un valore booleano che indica l'esito dell'operazione.
Spostare file
La funzione rename
accetta due parametri: il percorso iniziale del file ed il suo percorso di destinazione. In entrambi i casi il nome del file non va omesso.
Questa funzione è analoga al comando mv da shell, nonostante il suo nome risulti ambiguo. In altre parole il file viene spostato e non copiato.
define('ABS_PATH', $_SERVER['DOCUMENT_ROOT'] . '/');
$file = ABS_PATH . 'images/test.png';
$dest_path = ABS_PATH . 'uploads';
if(file_exists($dest_path)) {
if(rename($file, $dest_path . '/test.png')) {
//
}
}
La funzione restituisce un valore booleano che indica l'esito dell'operazione.