2017-11-20 5 views
-1

Mein PHP-Code zeigen und Fehler und ich weiß wirklich nicht, wie es zu beheben.PHP, keine solche Datei oder Verzeichnis

Warning: file_put_contents(/ecc/.htpasswd): failed to open stream: No such file or directory in /storage/ssd4/683/2921683/public_html/admin/htpasswd.php on line 19 

But the file actualy exist

Mein Code:

<?php 
require('assets/head.php'); 
if ($_POST['perm'] == 0) { 
    $dir = '/ecc/.htpasswd'; 
} 
else { 
    $dir = '.htpasswd'; 
    } 
$user = strtoupper($_POST['grade']).strtoupper($_POST['nfamille']); 
$nom = $_POST['nfamille'].' '.$_POST['pnom']; 
// Password to be encrypted for a .htpasswd file 
$clearTextPassword = $_POST['mdp']; 
$ligne = count(file('.htpasswd')) + 1; 
// Encrypt password 
$password = crypt($clearTextPassword, base64_encode($clearTextPassword)); 

$file = $user.':'.$password."\n"; 
echo $file; 
file_put_contents($dir, $file,FILE_APPEND); 
$req = $bdd->prepare('INSERT INTO CCPC(ligne, grade, nom, perm, prefix) 
VALUES(?, ?, ?, ?, ?)'); 
$req->execute(array($ligne, $_POST['grade'], $nom, $_POST['perm'], $user,)); 
?> 

Danke für die Hilfe EDIT: zu vergessen gesagt, dass meine PHP-Datei in dem Ordner Admin ist

+0

Dieser Fehler auch passiert, wenn es keinen Zugriff darauf hat, es zu lesen. Überprüfen Sie die Berechtigungen und Eigentumsrechte. – IncredibleHat

+1

@Randall Das ist nicht korrekt, Sie erhalten in diesem Fall eine andere Fehlermeldung: Berechtigung verweigert – arkascha

+2

Der Pfad '" /ecc/.htpasswd "' beginnt mit dem Root des Dateisystems. Nicht in deinem public_html-Ordner. Sie sollten den vollständigen Pfad für 'file_put_contents()' verwenden. – rickdenhaan

Antwort

0

ändern /ecc/.htpasswd zu ../ecc/.htpasswd

+0

das funktioniert nicht – TheGamecraft

+0

heißt es Zugriff jetzt verweigert? – Forbs

+0

oh es ist im Admin-Ordner .... siehe meine neue bearbeitete Antwort – Forbs

Verwandte Themen