Chemin d'un fichier Upload

Eléphanteau du PHP | 13 Messages

13 nov. 2010, 21:22

Edit, je "réouvre" le topic car :
j'ai un probleme dans le lien auquel je n'avais pas penser (eh oui)
Quand il affiche le lien a coller, il faudrait afficher le lien http://monsite/Images/Musiques/photo.jpg
Et non le chemin /www/ect/Images/...
Je n'ai aucune idée de comment faire cela.
Si je me suis mal exprimer, dites le moi.

ViPHP
AB
ViPHP | 5818 Messages

16 nov. 2010, 06:35

Tu as utilisé le code que je t'ai donné ?
Si oui recopies moi exactement par copié/collé un exemple de ce qu'il te renvoie comme lien.

A part ça tu n'as pas répondu sur la nature des messages d'avertissements que tu avais (comme je te le demandais dans mes messages précédents).
Cela ne te prendrais pas beaucoup de temps de faire un copier/coller et je serais curieux de les connaître. Il faut un minimum de retours précis et d'échanges si tu veux que l'on puisse t'aider.

Eléphanteau du PHP | 13 Messages

20 nov. 2010, 15:23

Escuse-moi pour ce retard, mais j'etais en "bac blanc" toute la semaines.
Je n'ai donc pas eu le temps de me connecter.
Les messages d'erreurs sont :
Warning: natsort() [function.natsort]: The argument should be an array in /www/zxq.net/t/u/t/tuto/htdocs/admin/Upload/class_upload.php on line 837

Warning: array_pop() [function.array-pop]: The argument should be an array in /www/zxq.net/t/u/t/tutod/htdocs/admin/Upload/class_upload.php on line 839

Warning: Cannot modify header information - headers already sent by (output started at /www/zxq.net/t/u/t/tuto/htdocs/admin/Upload/class_upload.php:837) in /www/zxq.net/t/u/t/tuto/htdocs/admin/Upload/class_upload.php on line 365

Ces messages, n'arrivent qu'au moment du renommage des fichiers, si j'upload deux fois le même dossier.
Au niveau du message qu'il m'affiche quand au lien de l'image c'est :
Modifié en dernier par necromoine le 22 janv. 2011, 22:34, modifié 1 fois.

ViPHP
AB
ViPHP | 5818 Messages

20 nov. 2010, 19:18

Salut !

Merci pour les messages d'erreur, ça m'a permis de corriger une petite erreur sur certains systèmes (dont peut-être le tiens) avec la fonction glob dans la classe d'upload .

J'ai donc mis une nouvelle version 1.6 en ligne pour la classe d'upload. Copies la et remplaces l'ancienne version par celle-ci.

Cela dit il est possible également que la fonction glob de la classe d'upload (qui sert au renommage incrémentiel) soit désactivée sur ton serveur. Donc si le renommage incrémentiel ne fonctionne pas comme prévu on peut toujours utiliser le renommage avec un identifiant unique (plutôt qu'incrémentiel), ce qui est par ailleurs recommandé pour des raisons de performances.
Pour ce faire dans le message de paramétrage de l'upload qui est ici remplaces la ligne :

$up->Set_Renomme_fichier('incr');
par
$up->Set_Renomme_fichier();

Pour ce qui est de l'adresse de l'image qui est renvoyée, je n'ai pas le temps aujourd'hui et je regarderai ça demain.

A bientôt :)

ViPHP
AB
ViPHP | 5818 Messages

20 nov. 2010, 21:08

Oui bon y'avait des lignes vides en trop à la fin de la classe que je viens de modifier ... dû à un mauvais formatage de mon message, je viens de corriger, sinon faut les effacer pour que la balise de fermeture '?>' soit bien le dernier caractère de la page de la classe d'upload sinon ça envoie des messages d'erreur.

Alors ça donne quoi ?

Sinon dans ton code qui renvoi le lien essaye de mettre
<?php //affichage du message

if (!empty ($transfert))
     {
	 	$serveur_name = 'http://'.$_SERVER['SERVER_NAME'];
		
		echo '<p>';
		$result = $transfert['resultat'];
	   
		foreach ($result as $num => $rep)
			{
				foreach ($rep as $key => $value)
					{                                                  
						if(!empty($value['nom']))                                  
										
							{
								$dossier_upload = $serveur_name.'/'.basename($key);
										
								$dim = explode('x',$value['dim']);
										
								echo htmlspecialchars('code à insérer : <img src ="'.$dossier_upload.'/'.$value['nom'].'" width="'.$dim[0].'" height="'.$dim[1].'" />') ;
							}
					}    
			}
		echo '</p>';	
	} 
?>
à la place de l'ancien code qui affichait le message de lien.

Cela donne ce que tu voulais ?

Eléphanteau du PHP | 13 Messages

21 nov. 2010, 09:15

Merci, probleme de l'upload en double est reglé, par contre, subsiste un petit probleme pour le lien de l'image.
I
Modifié en dernier par necromoine le 22 janv. 2011, 22:34, modifié 1 fois.

ViPHP
AB
ViPHP | 5818 Messages

21 nov. 2010, 18:31

Si tes répertoires sont dans un répertoire Images, dans le code ci-dessus, remplace

$dossier_upload = $serveur_name.'/'.basename($key);
par
$dossier_upload = $serveur_name.'/Images/'.basename($key);

Eléphanteau du PHP | 13 Messages

23 nov. 2010, 21:06

Merci beaucoup, tu me sauve encore une fois.
Merci beaucoup.

ViPHP
AB
ViPHP | 5818 Messages

23 nov. 2010, 21:14

Tiens en passant j'ai mis en ligne la version 1.9
C'est mieux de mettre à jour ton ancienne version de la classe et de la remplacer par celle-ci, tu auras de meilleures performances.