PHP Ouverture d'un fichier texte.

Dorian -  
 Dorian -
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...

2 réponses

  1. astuces72 Messages postés 2146 Date d'inscription   Statut Membre Dernière intervention   1 669
     
    hello

    essaye de mettre un slash

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

    par ça:
    $fichier = '/'.$user.'.txt';
    0
    1. Dorian
       
      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
  2. astuces72 Messages postés 2146 Date d'inscription   Statut Membre Dernière intervention   1 669
     
    et ton $dir = 'forum/';
    forum est à quel niveau dans les dossiers ?
    peut être ./forum
    0
    1. Dorian
       
      $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
    2. astuces72 Messages postés 2146 Date d'inscription   Statut Membre Dernière intervention   1 669
       
      et ton $dir = 'forum/';
      forum est à quel niveau dans les dossiers ?
      peut être ./forum
      0
    3. Dorian
       
      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
    4. astuces72 Messages postés 2146 Date d'inscription   Statut Membre Dernière intervention   1 669
       
      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
    5. Dorian
       
      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