Problème avec script de création de fichier

ndixweb -  
HostOfSeraphim Messages postés 7340 Statut Contributeur -
Bonjour,

Je suis entrain de coder une interface d'administration pour mon site web.
J'ai trouvé un script qui me permet de créer un fichier (script ci-dessous)

<?php
// Si la formulaire n'est pas envoyé, on l'affiche
if (!isset($_POST['form'])) {
echo "<form action=\"ecriture.php\" method=\"POST\">
Nom du fichier : <input type=\"text\" name=\"filename\" value=\"exemple.txt\"><br><br>
Contenu :<br><textarea name=\"contenu\" cols=70 rows=20>Contenu du fichier</textarea><br><br>
<input type=\"hidden\" name=\"form\" value=\"1\">
<input type=\"submit\" value=\"Créer\">";
} else {
// Création du fichier
$fichier = fopen($_POST['filename'],"w");
// Vérification de l'écriture
if (fwrite($fichier,$_POST['contenu'])) {
echo "Le fichier à été créé avec succès";
} else {
// Erreur
echo "Impossible de créer le fichier";
}
fclose($fichier);
} ?>

Mais ce script enregistre le fichier dans son dossier et moi je souhaite qu'il l'enregistre dans un autre dossier de mon serveur par ex : /home/www/web/nouvelleversion/systeme/contenu/

Je souhaite donc avoir votre aide pour arranger cela.

Merci d'avance pour vos réponses.
A voir également:

9 réponses

ndixweb
 
ça ne s'écrit pas "Koi ?" mais quoi ?

UP
1
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
bonjour,

une fois le fichier créer : faire un téléchargement du serveur vers ton PC
0
jeinny Messages postés 135 Statut Membre 26
 
je vien d'en faire un moi la donc tien je te le donne et il fait tou se que tu demande tien :
<?php
session_start();

/*
si la variable de session login n'existe pas cela siginifie que le visiteur
n'a pas de session ouverte, il n'est donc pas logué ni autorisé à
acceder à l'espace membres
*/
if(!isset($_SESSION['login'])) {
echo 'Vous n\'êtes pas autoris´ à acceder à cette zone';
include('index.html');
exit;
}
//augmente le temps d'execution pour que les requêtes aboutissent
set_time_limit(600);

//connexion au serveur MySQL
$connexion = mysql_connect("localhost","root","") or die ("Connexion impossible au SGBD.");
//sélection de la BDD
$base = mysql_selectdb("LaMoulinetteCACE", $connexion) or die ("Sélection de la base impossible.");

$req1="SELECT Compte, CodeCtrl, LibelleCompte, DebN1, CredN1, DebN, CredN, SoldeN1, SoldeN, VariationE, VariationP, IdCodeBafi, AP, IdCodeSysiphe, DossierPermanent, LibelleTri1, LibelleTri2, LibelleTri3, Classe, LibelleCycle FROM balance, Compte, Cycle, Tri1, Tri2, Tri3 WHERE Balance.Compte=Compte.IdCompte AND Compte.IdCycle=Cycle.IdCycle AND Tri1.CodeTri1=Compte.Tri1 AND Tri2.CodeTri2=Compte.Tri2 AND Tri3.CodeTri3=Compte.Tri3 GROUP BY Compte";
$rs1=mysql_query($req1)or die (mysql_error());

//la ligne suivante suffit à envoyer le résultat du script dans une feuille Excel
header("Content-Type: application/force-download; name=\"BalanceTraitee.csv\"");
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename=\"BalanceTraitee.csv\"");
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
readfile("BalanceTraitee.csv");

if ($f = fopen('BalanceTraitee.csv', 'w'))
{
$col = array(Compte, CodeCtrl, Libelle, "Debit N-1", "Credit N-1", DebitN, CreditN, "Solde N-1", SoldeN, "Variation €", "Variation %", Cycle, CodeBafi, CodeSysiphe, DossierPermanent, Tri1, Tri2, Tri3, "A/P", Classe);
fputcsv($f, $col,";");

while($ligne1 = mysql_fetch_row($rs1))
{
$Compte = $ligne1[0];
$CodeCtrl = $ligne1[1];
$Libelle = $ligne1[2];
$SoldeDebN1 = $ligne1[3];
$SoldeCredN1 = $ligne1[4];
$SoldeDebN = $ligne1[5];
$SoldeCredN = $ligne1[6];
$SoldeN1 = $ligne1[7];
$SoldeN = $ligne1[8];
$VariationE = $ligne1[9];
$VariationP = $ligne1[10];
$Cycle = $ligne1[19];
$CodeBAFI = $ligne1[11];
$CodeSysiphe = $ligne1[13];
$DossierPermanent = $ligne1[14];
$Tri1 = $ligne1[15];
$Tri2 = $ligne1[16];
$Tri3 = $ligne1[17];
$AP = $ligne1[12];
$AP=$AP." ";
$Classe = $ligne1[18];

$data = array("$Compte", "$CodeCtrl", "$Libelle", "$SoldeDebN1", "$SoldeCredN1", "$SoldeDebN", "$SoldeCredN", "$SoldeN1", "$SoldeN", "$VariationE", "$VariationP", "$Cycle", "$CodeBAFI", "$CodeSysiphe", "$DossierPermanent", "$Tri1", "$Tri2", "$Tri3", "$AP", "$Classe");
fputcsv($f, $data,";");
}
echo "Bravo vous avez bien enregistré votre fichier";
}
else
{
echo "Impossible d'accéder au fichier.";
}

fclose($f);

?>


bonne chance et bonne continuation si tu a besoin d'aide n'ésite pas j'ai aussi fait un script d'import si tu préfère.
0
ndixweb
 
Bonjour,

@ giheller : Mon but est justement d'éviter de faire des transferts du serveur vers mon pc. Le système va être utilisé par des personnes qui n'y connaissent pas grand chose dans le domaine. Et donc pas toujours depuis le même pc. Mais merci quand même ;)

@ jeinny : Ton script n'est pas fait pour créer un fichier mais pour ouvrir une session. Et je veux évité d'utiliser une BDD.
0
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
Bon tant pis, mais le transfert peut être transparent
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jeinny Messages postés 135 Statut Membre 26
 
nan nan je sai encore se que j'ai fait et je tassur que se script sert à créer un fichier csv avec des données de ma base dedans !!!!!!!! mai après tu peu bien mettre se qe tu veu si tu veu pa mettre de donné de base mais le qhéma est la
0
ndixweb
 
juste un petit up.
0
jeinny Messages postés 135 Statut Membre 26
 
koi?
0
jeinny Messages postés 135 Statut Membre 26
 
ok gamin ! je le sais, t'inquiète pas pour moi !! et ce n'est pas la sujet ici et je pense que tou le monde aurai compris
0
HostOfSeraphim Messages postés 7340 Statut Contributeur 1 608
 
Tu peux le faire dans le répertoire de ton choix :

Voir la doc de la fonction fopen() :

http://www.manuelphp.com/php/function.fopen.php

0