MasterOfQuebec
Messages postés66Date d'inscriptionlundi 12 mars 2007StatutMembreDernière intervention 5 mai 2009
-
29 avril 2007 à 21:51
MasterOfQuebec
Messages postés66Date d'inscriptionlundi 12 mars 2007StatutMembreDernière intervention 5 mai 2009
-
1 mai 2007 à 18:02
Bonjour,
J'héberge un serveur sur mon ordinateur (avec WAMP5).
Voici un bout de script :
<hr />
$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);
<hr />
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).
MasterOfQuebec
Messages postés66Date d'inscriptionlundi 12 mars 2007StatutMembreDernière intervention 5 mai 2009 29 avril 2007 à 22:13
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.
JulSoft
Messages postés354Date d'inscriptiondimanche 3 juin 2001StatutMembreDernière intervention11 mars 2013 30 avril 2007 à 00:03
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!!!
cs_Astalavista
Messages postés192Date d'inscriptionlundi 24 décembre 2001StatutMembreDernière intervention 3 février 2010 30 avril 2007 à 02:05
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
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 30 avril 2007 à 18:00
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 )
MasterOfQuebec
Messages postés66Date d'inscriptionlundi 12 mars 2007StatutMembreDernière intervention 5 mai 2009 1 mai 2007 à 14:10
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
[mailto:$fp=@fsockopen($host,$port,&$errno,&$errstr,10 $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");
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\nCurrent Listeners: $current
\nServer Status: $status
\nListener Peak: $peak
\nMaximum Listener: $max
\nReported Listeners: $reported
\nBroadcast Bitrate: $bit
\nCurrent Song: $song\n\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 "".$pool_question."\n";
print "\n\";
// answer 1
print \"----
\n\";
print \" ".$pool_option[1].", \n\";
print \"".$pool_responses[1]." (".$pool_percentaje[1]."%), \n\";
print \"\n\";
// answer 2
print \"----
\n\";
print \" ".$pool_option[2].", \n\";
print \"".$pool_responses[2]." (".$pool_percentaje[2]."%), \n\";
print \"\n\";
print "
\n";
// a simple control to avoid one user to vote several times
if ($_POST["7680777"]){
print "\n";
}
print "\n";
print "</form>\n";
print "</center>\n";