Pb d'envoye de fichier mauvaise direction d'envoye

Eléphanteau du PHP | 34 Messages

05 avr. 2007, 15:10

Bonjour j'ai un problème d'envoye de fichier avec la fonction move_uploaded_file.Il envoye le fichier comme convenue mais pas dans le dossier que je lui est indiqué.Je voudrai l'envoyé dans un dossier différent mais au meme niveau.Exemple j ai un dossier admin avec l'application d'envoye de fichier je voudrais que le fichier arrive dans le dossier client qui lui à un dossier video dans le dossier client j'aimerai qui l'attérisse dans le dossier video
<?php 
if(isset($_FILES['fichierAUploader'])) // on vérifie si le fichier existe
	{
	
$extensions_valides = array( 'avi' , 'mpg' , 'wmv' , 'mp3' );
$extension_upload = substr(  strrchr($_FILES['fichierAUploader']['name'], '.')  ,1);
	if ( in_array($extension_upload,$extensions_valides) ) 
		{
		echo "Extension correcte";
		echo '<br>';
		

		$target = "test/../"; // le dossier où le fichier va etre envoyé
		$nom_file = $_FILES['fichierAUploader']['name']; // le nom du fichier pour avoir son adresse
		$tmp = $_FILES['fichierAUploader']['tmp_name']; // l'adresse temporaire du fichier
		$chemin = $target.$_FILES['fichierAUploader']['name']; //$tmp + $nom_file
		}
	else
	{
		echo "Extension incorrecte";
		echo '<br>';
		}


$resultat = move_uploaded_file($tmp,$chemin) or die("erreur !"); // Envoi du fichier ! 
if ($resultat) // si l'envoi marche
echo "Transfert réussi";
else 
echo "Transfert raté";
?>
 <?php
	}


	?>

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

05 avr. 2007, 15:29



Il faut lui indiquer le bon chemin...

quelle est ton arborescence ?

- admin
- client
--video
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

05 avr. 2007, 15:30

Pour déplacer le fichier avec move_upload_file() il suffit de spécifier l'emplacement et le nom du fichier dans le 2ème argument de la fonction.

En l'occurence, tu places actuellement ton fichier dans $chemin qui correspond à $target.$_FILES['fichierAUploader']['name'] où $target est égal à "test/../"

Donc en résumé, à partir de l'emplacement du script, tu vas descendre dans le dossier test, puis remonter d'un dossier (donc au final revenir dans le dossier courrant) et enregistrer le fichier sous son nom.

Spécifies le bon chemin (en fonction du client si tu veux) et ton fichier ira droit dedans ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 34 Messages

05 avr. 2007, 15:37

ok donc mon arborescence est
*Admin=>la il ya le script d'envoye

*Client
-video =>là ou j aimerais avoir la video

les dossiers Admin et Client sont dans un dossier qui s appelle Website

Eléphanteau du PHP | 34 Messages

05 avr. 2007, 15:44

Comment fait -t-on pour remonter dans les dossiers et dessendre dans les dossiers car je métrise pas sa je perd un temp fou a testé les directions.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

05 avr. 2007, 16:41

Pour remonter d'un dossier : "../"
Pour descendre dans un dossier : "nom_du_dossier/"

Pour passer de WebSite/Admin à Website/Client, il te faut donc remonter d"un dossier (pour aller dans WebSite/) puis de descendre dans le dossier "Client", et une fois là, de descendre à nouveau dans le dossier "video" :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

05 avr. 2007, 16:53

Pour ton chemin, je dirais donc,

../client/video/nomfichier.extension
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphanteau du PHP | 34 Messages

05 avr. 2007, 16:58

Voici mon arborésence
/ = racine du site
|
|-- index.php
|
|-- admin
| |-- envoy_up.php <=== script d'envoye de fichier
| |-- comptabilite.html
| |-- factures.html
|
|-- client
| |-- Moncompte.php
| |-- video <==== dossier là ou la vidéo doit arriver
|--------|-- toto.avi
|--------|-- riri.avi

Eléphanteau du PHP | 34 Messages

05 avr. 2007, 16:59

ok je regarde je pensse quond à posté en mème temp j avai pas vu vos postes donc je regarde sa dessuite je vous remerci

Eléphanteau du PHP | 34 Messages

05 avr. 2007, 17:27

Snif sa marche pas :( :?: :!: c est bizar sa me dit qu'il a envoyé et il ya rien

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

05 avr. 2007, 17:30

Je suis désolé mais tu fait 2 fautes à répétitions qui me font grincer les dents :
- envoie et pas envoye
- arborescence et pas arborésence

C'est pas une critique, je suis loin de ne faire aucune faute d'orthographe mais ces deux là me gène dans ma lecture car je crois que tu conjugue le verbe "envoyer"
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 34 Messages

06 avr. 2007, 01:26

Merci pour votre aide j'ai réussi a mettre en place le script.
PS: ne prenez jamais 1&1 comme hébergeur vous risquerez d'avoir des surprises comme j'ai u