Upload fichier en php

Fermé
yoshiro Messages postés 497 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 18 avril 2018 - 6 avril 2011 à 15:19
Aktayen Messages postés 189 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 17 décembre 2015 - 10 avril 2011 à 23:26
Bonjour,
voila j'essaye d'uplaoder des fichier en php mais le problème c'est qu'il n'atteint pas le dernier dossier du lien.
Par exemple si le lien est http://localhost/Nouveaudossier/azerty
il n'atteint pas le dossier azerty!!

voici le code PHP ( je récupère la valeur a partir d'un GET envoyer via du JavaScript j'ai essayer en PHP aussi toujours pareil)

.....
//fonction upload
public function upload_files($fics)
{
	if (!isset($fics["Filedata"]) || !is_uploaded_file($fics["Filedata"]["tmp_name"]) || $fics["Filedata"]["error"] != 0) echo "There was a problem with the upload";
	else 
	{
	        $targetPath = '../Nouveau dossier (2)/emplacements/'. basename($_SESSION['refdos']) . '/';
		$targetFile =  str_replace('//','/',$targetPath) . $fics["Filedata"]["name"];
		move_uploaded_file($fics["Filedata"]["tmp_name"], $targetFile); 
	}
		exit(0);
}

......
//recupere la valeur
$dosi = (isset($_GET['dossiers']))? $_GET['dossiers']:null; //récupère via du javascript
if ($dosi !== null) $_SESSION['refdos'] = $dosi ;
//Upload fichier
if (isset($_POST["PHPSESSID"])) session_id($_POST["PHPSESSID"]);
if (isset($_FILES["Filedata"])) $az->upload_files($_FILES);


Merci d'avance
A voir également:

3 réponses

mckochbati Messages postés 2 Date d'inscription jeudi 3 mars 2011 Statut Membre Dernière intervention 6 avril 2011
6 avril 2011 à 15:34
Bonjour,

Je ne vois pas pourquoi tu tente d'envoyer ton image par la méthode get.
Je te donne un exemple avec la méthode POST, tu pourra toujours tenter ensuite de le modifier avec la méthode get.

Dans le premier fichier :
<label>Logo Société : </label><input type="file" name="logo" />

Pour récupérer ce fichier, tu mets dans le second fichier :

$monErreur=0;
$image=$_FILES['logo']['name'];
if ($_FILES['logo']['error'] > 0) $monErreur=1;
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
$extension_upload = strtolower( substr( strrchr($_FILES['logo']['name'], '.') ,1) );
$ck="";
if ( in_array($extension_upload,$extensions_valides) && ($monErreur == 0) )
{
$ck="logo/{$image}";
$resultat = move_uploaded_file($_FILES['logo']['tmp_name'],$ck);
}


Cela va te permettre a la fois de récupérer ton fichier mais également de le copier dans le dossier de ton projet, dans le dossier logo (qui sera crée si jamais il existe pas.


Voila j'espere que cela répond a ton problème sinon je reformulerai ;)
0
yoshiro Messages postés 497 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 18 avril 2018 64
8 avril 2011 à 18:36
Mais le problème c'est à partir d'un lien que j'envoie !!
0
Aktayen Messages postés 189 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 17 décembre 2015 19
10 avril 2011 à 23:26
Salut,

J'ai pas tout lu de ton code, mais déjà si tu veux rentrer dans le répertoire azerty il faut que tu mettes un slash après azerty


http://localhost/Nouveaudossier/azerty/


Ensuite pour enlever ou ajouter les antislashs tu as des fonctions en php très utile.
stripslashes() / addslashes()


Sinon question, quelles sont tes contraintes pour que tu doivent envoyer tes données par un get? Ca me parrait pas très sûr que manip.
0