Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Erreur fopen [ Divers / Aide & documentation ] (masterofquebec)

dimanche 29 avril 2007 à 21:51:50 | Erreur fopen

masterofquebec

Bonjour,
J'héberge un serveur sur mon ordinateur (avec WAMP5).

Voici un bout de script :



$lenomdutxt = "C:\\nightshadowfiles\\download\\hosted\\$outype\\";
$handle = "$destination_file.txt";
// Assurons nous que le fichier est accessible en écriture
if (is_writable($lenomdutxt)) {

    // Dans notre exemple, nous ouvrons le fichier $lenomdutxt en mode d'ajout
    // Le pointeur de fichier est placé à la fin du fichier
    // c'est là que $somecontent sera placé
    if (!$handle = fopen($lenomdutxt, 'a')) {
         echo "Impossible d'ouvrir le fichier ($lenomdutxt)";
         exit;
    }

    // Ecrivons quelque chose dans notre fichier.
    if (fwrite($handle, $somecontent) === FALSE) {
       echo "Impossible d'écrire dans le fichier ($lenomdutxt)";
       exit;
    }
   
    echo "L'écriture de ($somecontent) dans le fichier ($lenomdutxt) a réussi";
   
    fclose($handle);



Mais quand je vais sur la page j'ai cette erreur :
Warning: fopen(C:\nightshadowfiles\download\hosted\other\) [function.fopen]: failed to open stream: Permission denied in C:\nightshadowfiles\download\uploader.php on line 95
Impossible d'ouvrir le fichier (hosted\other\)

Variables :
$outype = un nom de fichier (défini plus heau).
$destination_file = un nom encodée (défini plus heau [exemple de nom: 1177875959questions.png.txt]).
$somecontent = Du texte (url) que je veut écrire dans le fichier txt (défini plus heau).


         Merci d'avance pour votre aide.


dimanche 29 avril 2007 à 22:13:13 | Re : Erreur fopen

masterofquebec

Je ne peut pas (ou je ne sais pas comment) éditer mon message alors je m'excuse pour le double poste.

En réalité ce que je veut faire avec le script php c'est créer un fichier .txt avec le nom: $destination_file
Dans le répétoire de mon serveur : C:\nightshadowfiles\download\hosted\$outype
Puis écrire une url dans le fichier texte. L'url dois être le chemin d'accès du fichier.

lundi 30 avril 2007 à 00:03:02 | Re : Erreur fopen

JulSoft

Membre Club
C'est normal (et heureusement) que tu ne puisse pas écrire n'importe où sur ta machine. Sinon tu imagines la tête des hébergeurs qui veraient leurs ficheirs de configuretion réécrits par des petits malins... Bonjour les dégats!!!

lundi 30 avril 2007 à 00:25:33 | Re : Erreur fopen

masterofquebec

Mais y à t'il une façon que je puisse y écrire? (C:\nightshadowfiles\ est mon fichier www)

lundi 30 avril 2007 à 02:05:31 | Re : Erreur fopen

Astalavista

Il y a surment moyen, mais il va faloir enlever des protections... sinon, écrit le dans un dossier specifique dans ton site (protège le par un htaccess pour ton serveur uniquement pour ne pas avoir de personnes qui vienne farfouiller la dedans), puis execute un fichier .cmd avec la fonction exec, ou il y aura une commande dans le genre : copy .\*.png.txt C:\nightshadowfiles\ del .\*.png.txt

lundi 30 avril 2007 à 18:00:54 | Re : Erreur fopen

neigedhiver

Salut,

Quelle est l'utilité de cette ligne ?

$handle = "$destination_file.txt";

Puisque $handle est écrasé 2 lignes plus loin par :

if (!$handle = fopen($lenomdutxt, 'a')) {

Sinon, pour moi, ça :
$lenomdutxt = "C:\\nightshadowfiles\\download\\hosted\\$outype\\";
c'est un chemin de répertoire, pas de fichier. Si c'est un fichier, il ne faut pas mettre de séparateur en fin de chaîne ( \ sur Win, / sur Linux )

mardi 1 mai 2007 à 14:10:13 | Re : Erreur fopen

masterofquebec

Alors j'ai réusi en me basant sur plusieurs scripts.
Mais il y à toujours une erreur.

J'explique la première partie du script doit récupérer des donées sur un serveur shoutcast puis les mettres dans une variable
$song = le nom de la chanson
Puis quand la chanson est prise il crée un fichier txt avec le nom de la chanson. Exemple :
Chanson 1 - Artiste Bien.txt
Chanson 1 - Artiste Mal.txt

Mais il ne le fais pas il fais ceci :
.txt (il ne met pas de nom)

Pouvez-vous corriger mon script svp ?



<?php

// simple.php - shoutcast 7.html information display utility
// version 0.1.5

// To use this script, save this page save simple.php then edit the information below as noted, uncomment what you need
// To imbed the information on your php site use the include function on the page you wish to display the information


// Edit the next two lines with your server information
$host = "masterofquebec.ath.cx";
$port = "8000";

// Connect to server
$fp=@fsockopen($host,$port,&$errno,&$errstr,10);
 if (!$fp) {
    echo "Erreur";
  } else {

// Get data from server
 fputs($fp,"GET /7 HTTP/1.1\nUser-Agent:Mozilla\n\n");

// exit if connection broken
for($i=0; $i<1; $i++) {
if(feof($fp)) break;
$fp_data=fread($fp,31337);
usleep(500000);
 }

// Strip useless junk from source data
$fp_data=ereg_replace("^.*<body>","",$fp_data);
$fp_data=ereg_replace("</body>.*","",$fp_data);

// Place values from source into variable names
list($current,$status,$peak,$max,$reported,$bit,$song) = explode(",", $fp_data, 7);

$trackpattern = "/^[0-9][0-9] /";
$trackreplace = "";
$song = preg_replace($trackpattern, $trackreplace, $song);

if ($status == "1") {
// To use any of the outputs below just uncomment (remove the double forward slashes) that line.
// Below is an example of all data available in the 7.html file made by the Shoutcast server
// **ON BY DEFAULT - COMMENT OUT (put to forwards slashes in front of it) TO HIDE

// echo "<html>\n<head>\n<title></title>\n</head>\n<body>\nCurrent Listeners: $current<br>\nServer Status: $status<br>\nListener Peak: $peak<br>\nMaximum Listener: $max<br>\nReported Listeners: $reported<br>\nBroadcast Bitrate: $bit<br>\nCurrent Song: $song\n</body>\n</html>";
// Below is a basic one line value of the current song, perfect for front pages of sites

    } else {
 } }

 

 

// the questions and the answers
$pool_question="Do you like copy and paste scripts?";
$pool_option[1]="Yes";
$pool_option[2]="No";

// If counter files are not available,they will be created
// You may remove next lines after the first use of the script
        if (!file_exists("$songg.txt")){
                // next two lines will not work if writing permissions are not available
                // you may create the files bellow manualy with "0" as their unique content
                file_put_contents ("$songg.txt",0);
                file_put_contents ("$songb.txt",0);
        }

// retrieve data saved in files
        $pool_responses[1]=file_get_contents("$songg.txt");
        $pool_responses[2]=file_get_contents("$songb.txt");


// if user votes, increase corresponding value
        if ($_POST["7680777"] and $_POST["7680777b"]==""){
                if ($_POST["7680777"]==1) {$pool_responses[1]++;file_put_contents("$songg.txt",$pool_responses[1]);}
                if ($_POST["7680777"]==2) {$pool_responses[2]++;file_put_contents("$songb.txt",$pool_responses[2]);}
        }

// get percentajes for each answer in the pool
        // get total number of answers
        $total_responses=$pool_responses[1]+$pool_responses[2];
        if ($total_responses==0){$total_responses=1;}  // to avoid errors at start
        // compute percentajes (with one decimal number)
        $pool_percentaje[1] = round((100*$pool_responses[1])/$total_responses,1);
        $pool_percentaje[2] = round((100*$pool_responses[2])/$total_responses,1);
                                                               
// print the form, which includes de answers and the percentajes
print "<center>\n";
print "<form method=post action=".$_SERVER["PHP_SELF"].">\n";
print "<b>".$pool_question."</b>\n";
print "<table cellpadding=4>\n";
// answer 1
print "<tr>\n";
print "<td><input type=radio name=7680777 value=1>  ".$pool_option[1]."</td>\n";
print "<td bgcolor=DDDDFF>".$pool_responses[1]." (".$pool_percentaje[1]."%)</td>\n";
print "</tr>\n";
// answer 2
print "<tr>\n";
print "<td><input type=radio name=7680777 value=2>  ".$pool_option[2]."</td>\n";
print "<td bgcolor=DDDDFF>".$pool_responses[2]." (".$pool_percentaje[2]."%)</td>\n";
print "</tr>\n";
print "</table>\n";
// a simple control to avoid one user to vote several times
if ($_POST["7680777"]){
        print "<input type=hidden name=7680777b value=1>\n";
}
print "<input TYPE=submit value=Add my answer>\n";
print "</form>\n";
print "</center>\n";

?>


mardi 1 mai 2007 à 18:02:53 | Re : Erreur fopen

masterofquebec

Alors j'ai trouvé mon problème, je vais publier le script sur le site dans 8 heures.

mardi 1 mai 2007 à 18:02:58 | Re : Erreur fopen

masterofquebec

Réponse acceptée !
Alors j'ai trouvé mon problème, je vais publier le script sur le site dans 8 heures.



Cette discussion est classé dans : fichier, handle, fopen, lenomdutxt, somecontent


Répondre à ce message

Sujets en rapport avec ce message

Putin de fichier [ par koko ] J'ai un fichier que je veux lire $fichier = fopen("fichier.txt","r+"); fseek($fichier,0); fputs($fichier,$text); fclose($ pb fonction fopen ??? [ par spike03 ] Salut,j'ai un pb avec la fonction fopen...je travail sur un serveur apache distant, et je veux créer un fichier txt sur ma machine localealors je fais Ouvrir fichier distant [ par donbesada ] Salut à tous!J'ai besoin de votre aide pour ouvrir un fichier distant en php. Je sais que la fonction "fopen" le permet mais je ne connais pas sa synt Fonction fopen ? [ par porciner ] Bonjour je voudrais simplement savoir si la fonction fopen utilise beaucoup de ressource ?Si a chaque fois qu'on actualise une page sur mon site ça fa Comment ouvrir un fichier qui est un url sans fopen ? [ par mifinoufou ] Bonjour, j'aimerais ouvrir un fichier url mais la fonction fopen() ne fonctionne pas car sur le serveur la config allow_url_fopen doit etre à off. Exi Création de fichier avec fopen en x+ ou x+b sous linux [ par paul_arnaud ] Salut à toutes et à tous, J'ai fait le p'tit code ci dessous pour créer un fichier dans un sous répertoire ($dir = "import_txt/";) (Le but est ici de Ecrire dans un fichier sur un serveur free [ par tom ] Bonjour tout le monde! Je rencontre un probleme assez emmerdant sur free: je n'arrive pas à ecrire dans un fichier texte. Les fonctions fopen et fwrit Problème avec l'affichage au hasard d'un fichier [ par tony4758 ] Bonjour, j'ai encore un problème avec mon script (encore car j'ai posté un message y'a pas longtemps désolé ). En fait, je veu que mon script php incl probleme avec fwrite... [ par Teclis01 ] Voila j explique quelques petites choses avant tout !$url contient une url entrée par l utilisateur via un formulaireje veux en fait recuperer le code Fonctions fopen et fwrite prb [ par TMG Boby ] Salut à tousDonc voilà, j'ai créé un formulaire qui envoie des variables à un fichier de traitement php, celui çi ouvre un fichier javascript ( .js )


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Appels d'offres



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.