PHP: copiare e spostare i file

PHP: copiare e spostare i file

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.

Torna su