télécharger un fichier

Eléphant du PHP | 440 Messages

26 janv. 2007, 18:12

Bonjour,

j'ai ce code qui s'applique à un champ de formulaire pour télécharger une image :
<?php
		$rep_destination = $_SERVER["DOCUMENT_ROOT"]."/http://europoleformations.free.fr/Portail/images/";
		if (isset($_FILES["photo"])) {
			if (is_uploaded_file($_FILES["photo"]["tmp_name"])) {
			if (strtolower(substr($_FILES["photo"]["name"], -4))==".jpg") {
			$destination = $rep_destination."/"
				.$_FILES["photo"]["name"];
			move_uploaded_file($_FILES["photo"]["tmp_name"],
			$destination);		
			?>
	<?php
	} else {
	echo 'Mauvais type de fichier';
	}
	}
	}
	?>
Premier souci : l'adresse de destination ne fonctionne pas. Je pense avoir mal compris le principe.

2e question : comment accepter plusieurs types de fichiers ? Je ne sais pas comment rajouter .gif après .jpg

Merci pour vos éclaircissements.
Débutant complet en php/mysql. Merci pour votre aide.

Eléphant du PHP | 120 Messages

26 janv. 2007, 18:40

salut :)
d'abord pour le rep destination cela dépend de où tu executes ton script php
ensuite pour rajouter d'autres types de fichiers c'est très simple

Code : Tout sélectionner

if ((strtolower(substr($_FILES["photo"]["name"], -4))==".jpg")|| (strtolower(substr($_FILES["photo"]["name"], -4))==".gif")|| (strtolower(substr($_FILES["photo"]["name"], -4))==".pdf") ||(strtolower(substr($_FILES["photo"]["name"], -4))==".txt"))
ceci et un exemple
mais si tu veux tous les types de fichier ne met pas le test sur le type de fichier et ton script les acceptera tous

ViPHP
ViPHP | 1961 Messages

26 janv. 2007, 18:50

Bonsoir,

Ton premier souci viens de là
$rep_destination = $_SERVER["DOCUMENT_ROOT"]."/http://europoleformations.free.fr/Portail/images/";
Fais un echo de $rep_destination et tu comprendras vite.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 440 Messages

26 janv. 2007, 19:05

Merci à Rakizm qui me solutionne la 2e partie de mon problème.

Suivant le conseil de Ajoloca j'ai fait
echo '$rep_destination';
et j'ai ça à l'écran: $rep_destination.
Je dois en conclure quoi ?
Débutant complet en php/mysql. Merci pour votre aide.

ViPHP
ViPHP | 1961 Messages

26 janv. 2007, 19:23

Re,

Tu ne dois pas mettre ta variable entre apostrophes.
fais ceci
$rep_destination = $_SERVER["DOCUMENT_ROOT"]."/http://europoleformations.free.fr/Portail/images/";
echo $rep_destination;
exit();
        if (isset($_FILES["photo"])) { 
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 440 Messages

26 janv. 2007, 19:54

j'ai compris, ça fonctionne ! Merci.

Question complémentaire.
quand on appuie sur Envoyer, le formulaire se recharge. Est-il possible d'avoir un lien vers une autre page ?
Débutant complet en php/mysql. Merci pour votre aide.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 janv. 2007, 20:00

Modération :
cmoi, si tu as une autre question ouvre un nouveau sujet,
cela te permettra d'avoir plus de réponses.

En plus, tu pourras mettre [Résolu] dès que ton problème évoqué ici sera réglé.

Merci de prendre le temps de lire les règlements.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

26 janv. 2007, 20:06

ok je m'exécute.
Débutant complet en php/mysql. Merci pour votre aide.