Probleme fichier php

Fermé
PaYaP - 25 avril 2007 à 09:46
 VinS - 18 juin 2007 à 16:22
Bonjour,

je travaille sur un petit projet qui consiste à déplacer un fichier et renommer un fichier et ceci quelque soit l'endroit d'où on l'upload.

J'ai donc un soucis avec la destination du fichier que l'on upload. En effet, il faut uploader le fichier à la racine d'un serveur. J'ai donc pensé naturellement dans ma variable de destination à me servir des "../" mais comme le fichier ne vient pas toujours du même dossier il faudrait autre chose :)

Si vous pouviez me renseigner quant à ce petit soucis que je n'arrive pas à résoudre. J'ai regarder un peu sur Internet et mes essai n'ont pas été concluant, notamment avec ~/

Je vous met le code en lien au cas où.


<script language="javascript">
function test_champ(f){
	var nomfic=f.fichier.value;
	if (nomfic==""){
		alert("Vous n'avez pas indiqué de nom de fichier");
		return false;
	}else{
		f.action="index.php?page=saisie2c&lien=envoie";
		f.submit();
	}
}
</script>

<form action="" enctype="multipart/form-data" method="post" name="formu">
		<input type="file" name="fichier" class="input"><br /><br />
		<input type="button" name="soumettre" value="Modifier le fichier" class="input" onclick="test_champ(formu);"/>
</form>

<?php
if (isset($_GET['lien']) && $_GET['lien']=="envoie"){
		
	$destination="C:\Program Files/fichiers/mouvements/";//Répertoire de destination des fichiers uploadés
	$nomfichier = $_FILES["fichier"]["name"] ;//Nom du fichier uploadé
	$poidsFichier = $_FILES["fichier"]["size"] ;//Poids du fichier (en octets) uploadé
	$tab=explode(".",$nomfichier);//On veut récupérer le nom du fichier et changer l'extension, on met casse donc la chaine grace 				aux séparateurs "." (sachant qu'un fichier peut très bien contenir un "." dans son nom. Cet exemple ne fonctionne seulement si le fichier ne contient pas plus de deux points dans son nom.

	//nvo_nomfichier contient le fichier renommmé en ".dat"
	if (count($tab)>2){
		$nvo_nomfichier=$tab[0].".".$tab[1].".dat";
	}else{
		$nvo_nomfichier=$tab[0].".dat";
	}
	
	if($poidsFichier <> 0){//Test si le poid du fichier est supérieur à zéro
		if(@copy($nomfichier, $destination.$nvo_nomfichier)){//On copie le fichier uploadé dans l'emplacement répertoire en changeant son extension		
			echo "<font color='#FF000'>Le fichier ".$nomfichier." a bien été déplacé et renommé : ".$nvo_nomfichier."</font>";
		}else{
			echo "<font color='#FF000'>Impossible de renommer et déplacer le fichier.</font>";
		}
	}else{
		echo("<font color='#FF000'>Le fichier choisi a une taille de zéro octet</font><br>");
	}
}





Merci d'avance :)
A voir également:

1 réponse

Il te faut le chemin aboslu :
/home/tonsitemachin/ etc...
0