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
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
Dieser Fehler auch passiert, wenn es keinen Zugriff darauf hat, es zu lesen. Überprüfen Sie die Berechtigungen und Eigentumsrechte. – IncredibleHat
@Randall Das ist nicht korrekt, Sie erhalten in diesem Fall eine andere Fehlermeldung: Berechtigung verweigert – arkascha
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