Crée des fichiers

alphonse
Invité n'ayant pas de compte PHPfrance

22 sept. 2013, 00:12

Bonjour a tous !

J'ai crée un systéme d'upload/download sur mon site,
Le seul soucis c'est que quand j'upload , les fichiers se mettents en ligne puis en dessous ainsi de suite,
Je voudrais donc crée , différent dossiers, ou je pourrais les upload directement dedans.
Du style : un dossiers nommé Saxophone, et dedans toutes les partoches de saxophone, un autre nommé clarinnete avec dedans les partoches de clarinettes ainsis de suite..

Je ne sais pas du tous comment m'y prendre.. merci de votre bonne aide !

Mammouth du PHP | 790 Messages

22 sept. 2013, 11:50

Salut,
a première vu comme ça, en changeant le chemin de l'upload avec un select qui crée une variable contenant le nom du dossier...
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

alphonse
Invité n'ayant pas de compte PHPfrance

22 sept. 2013, 13:33

Oui d'accord, mais il faudrais déja crée les dossiers.. et je ne sais pas comment m'y prendre..

Mammouth du PHP | 790 Messages

22 sept. 2013, 13:42

Te cherche a créer les dossier a la volée ?
Est ce que ce seront toujours les même dossier ?
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

alphonse
Invité n'ayant pas de compte PHPfrance

22 sept. 2013, 13:58

Non , enfin je t'es pas trés bien compris.. Je veut crée plusieurs dossier : Nommé : Saxophone , trompette et Clarinette
Dedans je veut pouvoir y mettre les partitions uploader avant.. mais enfete je veut que quand j'upload , je choisis mon dossiers et sa me le place dedans :)

Mammouth du PHP | 790 Messages

22 sept. 2013, 15:07

Le mieux est que tu fasse voir ton code...
Et ou est-ce que tu ne sais pas créer de dossier ?
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

alphonse
Invité n'ayant pas de compte PHPfrance

22 sept. 2013, 15:12

Aurais tu un autre moyen de discuter? car ici c'est vrement pas trés pratique... ?

Mammouth du PHP | 790 Messages

22 sept. 2013, 15:15

Malheureusement non, ce n'est pas la politique du forum, d'autres pourrait utiliser les réponses et c'est la tous l’intérêt...
Et puis si jamais je te disait une bêtise, d'autre pourrait me corriger, je cherche a aider mais je ne sais pas tous faire, loin de la...
Si tu as déjà un code, montre le...
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

alphonse
Invité n'ayant pas de compte PHPfrance

22 sept. 2013, 15:24

alors, mon code de mon index :
<a href="connexion.php">Se connecter</a>
<?php
}
?>

		</div>
		<div class="foot"> </div>
<h2>Gestionnaire de fichiers</h2>
<div style="float:left;width:708px;">
<p>Ceci est l'espace d'&eacute;change de fichiers. Vous pouvez t&eacute;l&eacute;charger les fichiers mis &agrave; votre disposition ou en envoyer.</p>
<p>Seul les partitions pour la Musique de Fruges sont autoris&eacute </p>
<form name="form" id="form">
<h2>Envoyer un fichier</h2>
<form id="form1" action="index.php" method="post" enctype="multipart/form-data">
		<div id="divSWFUploadUI">
			<div class="fieldset flash" id="fsUploadProgress">
			<span class="legend"></span>
			</div>
			<p id="divStatus"></p>
			<p>
				<span id="spanButtonPlaceholder"></span>
				<input id="btnCancel" type="button" value="Annuler l'envoi" disabled="disabled" style="margin:0 0 0 2px; height: 22px; font-size: 8pt;" />
				<br />
			</p>
		</div>
		<noscript>
		<div style="background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px;">
			Nous sommes désolés l'upload ne peut pas s'initialiser. Merci d'activer JavaScript.
		</div>
		</noscript>
		<div id="divLoadingContent" class="content" style="background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px; display: none;">
			Initialisation ... Merci de patienter ...
		</div>
		<div id="divLongLoading" class="content" style="background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px; display: none;">
			L'initialisation met trop de temps au chargement ou ne fonctonne pas correctement. Merci de vérifier que votre plugin Flash est activé et à jour.<a href="http://get.adobe.com/fr/flashplayer/" target="_blank"> T&eacutel&eacutechargez Flashplayer</a>
		</div>
		<div id="divAlternateContent" class="content" style="background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px; display: none;">
			Nous sommes désolés, l'upload ne peut pas être initialisé. Merci de mettre a jour Flashplayer. <a href="http://get.adobe.com/fr/flashplayer/" target="_blank"> T&eacute;l&eacute;chargez Flashplayer</a>
		</div>
</form>
	<h2>T&eacute;l&eacute;chargement d'un fichier</h2>
	<div id="fileContainer">
	<?php
	include('filemanager.php');
	?>
	</div>
	
	</body>
</html>
Mon code de mon gestionnaire :
<?php
	require_once('core/directory.c.php');
	$dossier = new directory_list("uploads/files/");
	$dossier->setList();
	$FileList = $dossier->get_FileList();
	$FileSize = $dossier->get_FileSize();
	$FileType = $dossier->get_FileType();
	if(sizeof($FileList)==null) { echo "Aucun fichier disponible."; }
		for($i=0;$i<sizeof($FileList);$i++)
		{ ?>
		<div class="file_cont">				
				<div class="file_delete"><a href="index.php?action=supprimer&fname=<?php echo "uploads/files/".$FileList[$i]; ?>" alt="delete"><img src="img/ico/delete.png" alt="delete" /></a></div>
				<div class="file_icon"><a href="uploads/download.php?file=<?php echo $FileList[$i]; ?>"><?php echo "<img src=\"".$dossier->get_Icon($FileType[$i])."\">"; ?></a></div>
				<div class="file_name"><a href="uploads/download.php?file=<?php echo $FileList[$i]; ?>"><?php echo $FileList[$i]; ?></a></div>
		</div>   
		<?php
		}
?>
Mon code de mon Upload :
<?php
if(!isset($_FILES["Filedata"]) || !is_uploaded_file($_FILES["Filedata"]["tmp_name"]) || $_FILES["Filedata"]["error"] != 0){
            header("HTTP/1.1 500 File Upload Error");
            if(isset($_FILES["Filedata"])){
                echo $_FILES["Filedata"]["error"];
            }
            exit(0);
        }

        $content_dir= 'files/';
        $tmp_file=$_FILES["Filedata"]['tmp_name'];
        $name_file=$_FILES["Filedata"]["name"];
       
        $tableau=explode(".",$_FILES["Filedata"]["name"]);
        $fichier_rename=time().'_'.rand(1,1000).'.'.$tableau[count($tableau)-1];
       
        if(!move_uploaded_file($tmp_file, $content_dir.$name_file)){
            header("HTTP/1.1 501 File Upload Error");
            echo $_FILES["Filedata"]["error"];
            exit(0);
        }
?>
et de mon download :
<?php
 $file=$_GET["file"]; 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0" );
header("content-type: application/octet-stream" );
header("Content-Length: ".filesize("files/".$file));
header("Content-Disposition: attachment; filename=".str_replace(" " , "_" , basename("files/".$file)));
flush();
readfile("files/".$file);
?>
Je pense que tu a besoin que de sa.. donc je voudrais crée différent dossiers nommé saxophone et un autre clarinette . et depuis mon uploader je voudrais choisir le dossier de destination.. :) voilà ! :)

Mammouth du PHP | 790 Messages

22 sept. 2013, 15:34

A premiere vu, il faudrait que tu puisse modifier la variable:
$content_dir= 'files/';
du genre
$content_dir= 'files/le_dossier_que_tu_veux/';
tu dois donc créer une nouvelle variable qui contiendra ce nom de dossier obtenu grâce a un select inclus dans le formulaire.
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

alphonse
Invité n'ayant pas de compte PHPfrance

22 sept. 2013, 15:45

ok j'essaie !

Mammouth du PHP | 790 Messages

22 sept. 2013, 15:49

Attention, le dossier que tu veux doit exister, ensuite tu devra faire le même grenre de modif pour les autres codes qui utilise l'url pour y accéder...
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

alphonse
Invité n'ayant pas de compte PHPfrance

22 sept. 2013, 15:53

Hmm, j'ai pas tous compris enfete... j'ai mis le bout de code dans mon upload et c'est juste se qu'il y a faire..? non je pense pas.. :S

Mammouth du PHP | 790 Messages

22 sept. 2013, 16:09

NON, c'est plus compliqué que ca...
Ton système est prévu pour envoyer dans un unique dossier.
Pour pouvoir utiliser un dossier au choix, il va falloir modifier le système pour rendre le chemin d'enregistrement dynamique...
Si tu l'ajoute comme ça en dur, ce que je t'ai fait voir sans passer par le système alors ton soucis restera le même mais sur un autre dossier...

Tu dois:
créer les dossier a leurs bonnes places
modifier ton formulaire de façon a ce qu'il envois une nouvelle variable contenant le nom du dossier a ta fonction upload
récupérer cet variable dans la fonction upload et l'intégré a l'url qui pointe le dossier
modifier toutes les fonctions qui utilise ce chemin pour qu'elle accède au bon dossier

j'ai peut être oublié quelque chose, je connais pas tous le code, mais en gros la manip ressemble a ça...
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

alphonse
Invité n'ayant pas de compte PHPfrance

22 sept. 2013, 17:10

Hmm bon , je ne comprend vrement rien a rien, je suis trés mauvais en php ....
Donc aurez tu la gentillesse de me faire le code a rajouté stp??? merci d'avance..