PHP: copiare e spostare i file

PHP supporta diversi comandi per manipolare il file system. Tali comandi diventano funzioni nell'implementazione specifica del linguaggio.

PHP di Gabriele Romanato

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.

Commenti