Bonjour , j'ai appris le PHP il y a 8 ans , à l'époque où il n'était pas objet.
Depuis je me suis aussi mis beaucoup au JAVA donc j'ai bien pu pratiquer le langage Objet.
Maintenant, je suis sur un projet php5 où j'utilise une classe d'upload d'images.

Mais je ne comprends pas trop la problématique suivante:
J'instancie un objet Upload lorsque j'affiche mon formulaire comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
// Instanciation d'un nouvel objet "upload"
$Upload = new Upload();
 
 
// GESTION DU FORMULAIRE D'UPLOAD
 
// Pour limiter la taille d'un fichier (exprimée en ko)
$Upload->MaxFilesize = 1024;
 
// Pour ajouter des attributs aux champs de type file
$Upload->FieldOptions = 'style="border:1px solid black"';
 
// Pour indiquer le nombre de champs souhaités
$Upload->Fields = 7;
 
// Initialisation du formulaire
$Upload->InitForm();
?>
 
  <?php
  // Affichage du champ MAX_FILE_SIZE
  print $Upload->Field[0];
 
  // Affichage du premier champ de type FILE
  print $Upload->Field[1] ;
 
  // Affichage du second champ de type FILE
  print $Upload->Field[2];
 
// Affichage du second champ de type FILE
  print $Upload->Field[3];
 
// Affichage du second champ de type FILE
  print $Upload->Field[4];
 
// Affichage du second champ de type FILE
  print $Upload->Field[5];
 
// Affichage du second champ de type FILE
  print $Upload->Field[6];
 
// Affichage du second champ de type FILE
  print $Upload->Field[7];
}


Sur la page d'après, j'arrive à récupérer les infos uploadées alors que j'instancie un nouvel objet.

En Java, dès lors qu'on fait un new , on accede pas aux infos d'une autre instance (à moins d'avoir un champ static) .

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
				// Instanciation d'un nouvel objet "upload"
				$Upload = new Upload();
 
 
				// GESTION DES UPLOADS APRES SOUMISSION DU FORMULAIRE
 
					// Pour forcer l'analyse des entêtes via PHP et non le navigateur :
					// CST_UPL_HEADER_BROWSER  => utilisation des entêtes envoyés par le navigateur,
					// CST_UPL_HEADER_MIMETYPE => utilisation de la librairie "mime_magic",
					// CST_UPL_HEADER_FILEINFO => utilisation de la librairie "fileinfo"
					//$Upload->phpDetectMimeType = Upload::CST_UPL_HEADER_BROWSER;
 
					// Pour renommer un fichier...
					//$Upload->Filename = 'nouveau_nom';
 
					// Pour ajouter un préfixe au nom du fichier...
					//$Upload->Prefixe = 'pre_';
 
					// Pour ajouter un suffixe au nom du fichier...
					//$Upload->Suffixe = '_suf';
 
					// Pour changer le mode d'écriture (CST_UPL_WRITE_ERASE, CST_UPL_WRITE_COPY, CST_UPL_WRITE_IGNORE)
					//$Upload->WriteMode = self::CST_UPL_WRITE_ERASE;
 
					// Pour filtrer les documents par extension
					//$Upload->Extension = '.gif;.jpg;.jpeg;.bmp;.png';
 
					// Pour filtrer les documents par entête de fichier (CST_UPL_HEADER_BROWSER, CST_UPL_HEADER_MIMETYPE, CST_UPL_HEADER_FILEINFO)
					//$Upload->$phpDetectMimeType = Upload::CST_UPL_HEADER_BROWSER;
					//$Upload->MimeType = 'image/gif;image/pjpeg;image/bmp;image/x-png'; 
 
					// Pour tester les dimensions maxi/mini d'une image.
					//$Upload->ImgMaxHeight = 200;
					//$Upload->ImgMaxWidth  = 200;
					//$Upload->ImgMinHeight = 100;
					//$Upload->ImgMinWidth  = 100;
 
					// Ou plus simplement :
					//$Upload->SetImgDim(200, 100, 200, 100);
 
					// Pour générer une erreur si les champs sont obligatoires
					//$Upload->Required = true;
 
					// Définition du répertoire de destination (chemin absolu ou relatif)
					//$Upload-> DirUpload = './docs/';
 
					// Pour modifier un message d'erreur sur l'échec d'une upload.
					//$Upload->setErrorMsg(Upload::CST_UPL_ERR_WRONG_EXTENSION, 'Extension interdite pour le document %%FILENAME%.');
 
					// Lance et teste le bon déroulement d'une upload.
					if (!$Upload->Execute()) {
						print 'Il y a eu une erreur :'; 
						pArray($Upload-> GetError());
						print '<a href="sample.php">Retourner au formulaire</a>';
						exit;
					}
 
					print 'Upload effectuée avec succès :';
//					pArray($Upload-> GetSummary());
					print '<a href="sample.php">Retourner au formulaire</a>';
Moi j'aimerais pouvoir utiliser deux instances différents de cet objet. Un pour un champ images de galerie photos et l'autre juste pour le logo.
merci.