Erori Constant already defined

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
evident
Mesaje: 168

Erori Constant already defined

Am gasit pe net acest script de upload imagini.
Imi puteti spune de ce primesc erorile astea:

Cod: Selectaţi tot

 Notice: Constant DESTINATION already defined in C:\wamp64\www\index.php on line 9
Notice: Constant RESIZEBY already defined in C:\wamp64\www\index.php on line 10
Notice: Constant RESIZETO already defined in C:\wamp64\www\index.php on line 11
Notice: Constant QUALITY already defined in C:\wamp64\www\index.php on line 12
Acesta este codul:

Cod: Selectaţi tot

<?php
$error = false;
if(isset($_FILES['upload']) === true)
{
	for($i=0; $i<count($_FILES['upload']['name']); $i++)
	{
		if(is_file($_FILES['upload']['tmp_name'][$i]))
		{
			define('DESTINATION', 'images/');
			define('RESIZEBY', 'w');
			define('RESIZETO', $_POST['width']);
			define('QUALITY', 100);
			
			require_once 'image.class.php';
			
			$image = new Image($_FILES['upload']['tmp_name'][$i]);
			
			$image->destination = DESTINATION.$_FILES['upload']['name'][$i];
			$image->constraint = RESIZEBY;
			$image->size = RESIZETO;
			$image->quality = QUALITY;
			$image->render();
		}
	}
	echo '<br/>';
	echo 'Image successfully resize and upload to folder';
}
?>

MarPlo Mesaje: 4343
O constanta poate fi definita o singura data.
Eroarea "Constant already defined" indica faptul ca acea constanta se incearca a fi definita dupa ce a fost deja creata.
Ca sa nu mai apara acea notificare de eroare se verifica cu functia defined() daca constanta a fost deja creata.
Exemplu:

Cod: Selectaţi tot

//if constant is not defined, it is created
if(!defined('Constnt_Name')) define('Constnt_Name', 'some value');
Sau asa, e acelasi lucru:

Cod: Selectaţi tot

defined('Constnt_Name') or define('Constnt_Name', 'some value');
- In fisierele incluse, unde se definesc acele constante, aplica una din variantele de mai sus.