PHP Ouverture d'un fichier texte.

Fermé
Dorian - 7 nov. 2012 à 08:57
 Dorian - 7 nov. 2012 à 11:31
Bonjour,
voici un script, il a pour but de remplacer le contenu d'un fichier texte déjà existant sur le serveur, tous mes fichiers sont de droit en octale 0777 (le maximum) soit le voici :

<?php 
$user = $_GET['user1']; 
$mdp = $_GET['cryp'];
$Npass = $_GET['pass'];
$mdp_decrypt = base64_decode($mdp);
$dir = 'forum/';
$Odir = opendir($dir); 
$fichier = $user.'.txt'; 
$pathfichier = $dir.$fichier; 
	$handle = fopen($dir.$user.'.txt', "r+"); 
		$var = fread($pathfichier, filesize($dir.$user.'.txt'));
		$zer = ftruncate($handle,0);
		fclose($handle);
  $min = 6;  	
	if(strlen($Npass) < $min) 
	{
	echo"Il faut 6 caractères au minimum !"; 
	}
	elseif($Npass == $contenu_temp)
	{
	echo"Le mot de passe écrit est le même que celui déjà définis par défaut.";
	}
	else 
	{
	//$nex = touch($dir.$user.'.txt'); 
	$new = $dir.$user.'.txt';
	$Fhandle = fopen($new, "r+"); 
	fputs($new, $Npass); 
		echo"Succès"; 
	fclose($Fhandle); 	
	}
	closedir($Odir); 
?>


et les erreurs suivantes sont affichées :

Warning: fopen(forum/dodo.txt): failed to open stream: No such file or directory in /var/www/legtux.org/users/ledorian83/schange.php on line 10

Warning: filesize(): stat failed for forum/dodo.txt in /var/www/legtux.org/users/ledorian83/schange.php on line 11

Warning: fread() expects parameter 1 to be resource, string given in /var/www/legtux.org/users/ledorian83/schange.php on line 11

Warning: ftruncate() expects parameter 1 to be resource, boolean given in /var/www/legtux.org/users/ledorian83/schange.php on line 12

Warning: fclose() expects parameter 1 to be resource, boolean given in /var/www/legtux.org/users/ledorian83/schange.php on line 13

Warning: fopen(forum/dodo.txt): failed to open stream: No such file or directory in /var/www/legtux.org/users/ledorian83/schange.php on line 27

Warning: fputs() expects parameter 1 to be resource, string given in /var/www/legtux.org/users/ledorian83/schange.php on line 28
Succès
Warning: fclose() expects parameter 1 to be resource, boolean given in /var/www/legtux.org/users/ledorian83/schange.php on line 30


je ne comprend pas, car le fichier existe bien et ensuite il n'est pas vide, et le lien sur le serveur FTP est le bon j'ai tout vérifié je désespère...




A voir également:

2 réponses

astuces72 Messages postés 7723 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 22 avril 2024 1 637
7 nov. 2012 à 09:18
hello

essaye de mettre un slash

remplaces ça:
$fichier = $user.'.txt';

par ça:
$fichier = '/'.$user.'.txt';
0
Non ca ne marche toujours pas ce que je comprend pas c'est que le fichier existe bien et du coté des slash tout est mis avec le $dir donc automatiquement ça fonctionne mais d'où vient ce bug :/
0
astuces72 Messages postés 7723 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 22 avril 2024 1 637
Modifié par astuces72 le 7/11/2012 à 11:15
et ton $dir = 'forum/';
forum est à quel niveau dans les dossiers ?
peut être ./forum
0
$Odir = opendir($dir);
Dans cette variable je fait un opendir de la variable $dir en abréviation j'ai mis un O pour rappeler le Open...
0
astuces72 Messages postés 7723 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 22 avril 2024 1 637
7 nov. 2012 à 11:16
et ton $dir = 'forum/';
forum est à quel niveau dans les dossiers ?
peut être ./forum
0
bah le fichier php est situé a la racine du serveur, le forum est aussi a la racine je vais tester ce que tu me dit non toujours pas de plus j'ai fait pareil dans mes autres script et ca fonctionnait tres bien :/
0
astuces72 Messages postés 7723 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 22 avril 2024 1 637
7 nov. 2012 à 11:22
Warning: fopen(forum/dodo.txt): failed to open stream: No such file or directory in /var/www/legtux.org/users/ledorian83/schange.php on line 10

pourtant ça veut bien dire qu'il ne trouve pas le dossier ou fichier !
0
c'est ca que je ne comprend pas :/ pourquyoi sur ce script il ne me le trouve pas amlors que sur les autres il me le trouve :/
0