Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » PHP & MySQL » LAMP und Ubuntu, wo speichert PHP text Dateien ab    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
epo60
Mitglied
Neuling


Dabei seit: 16.12.2018
Herkunft: keine Angabe
Posts: 4
     LAMP und Ubuntu, wo speichert PHP text Dateien ab Zitat | Bearbeiten

Hallo,

Bin gerade im PHP Tutorial bei "Dateien Schreiben". Wo, oder in welchen Ordner finde ich die Text Dateien? Erstellt werden sie mit file_put_contents().

Bei mir läuft LAMP, der Apache läuft auf localhost in Linux Ubuntu.


16.12.2018, 23:02 Profil | PM | E-Mail  
DingsDaBums
Mitglied
Exzellenter User


Dabei seit: 12.09.2010
Herkunft: keine Angabe
Posts: 2427
      Zitat | Bearbeiten

Am besten den Pfad selbst bestimmten. Mit zum Beispiel file_put_contents(__DIR__.'/test.txt', 'Ein Beispiel'); kannst du die Datei "neben" dem Skript speichern. Die so genannte "Magische Konstante" __DIR__ beinhaltet den Pfad zu dem Ordner, in dem das PHP Skript liegt, in dem diese Zeile steht.




Schau mal bei meinem Projekt vorbei. Vielleicht ist das ja was für dich MyStartPanel - Deine persönliche Startseite mit deinen Favoriten
Auf der Suche nach einem guten Vokabeltrainer? Vokabeltrainer Cramfire - Schnell und effektiv Vokabeln lernen
16.12.2018, 23:25 Profil | PM | E-Mail  
epo60
Mitglied
Neuling


Dabei seit: 16.12.2018
Herkunft: keine Angabe
Posts: 4
      Zitat | Bearbeiten

Erstmal danke für die Antwort,

Funktioniert irgendwie nicht, was mache ich falsch?

 PHP 
1:
2:
3:
4:
5:
6:
<?php
$name 
$_GET["name"];
$zeile "Per GET wurde der Name $name ├╝bergeben \r\n";
file_put_contents(__DIR__.'/test.txt'$zeile);
echo 
"test.txt wurde ├╝berschrieben";
?>



17.12.2018, 08:00 Profil | PM | E-Mail  
Andavos
Administrator
Foren-Gott


Dabei seit: 30.11.2003
Herkunft:
Posts: 6266
      Zitat | Bearbeiten

Ich vermute, dass dein PHP-Script nicht die notwendigen Rechte hat.

Der /var/www Ordner gehört typischerweise dem root-User, während Apache & PHP unter einem anderen User laufen (z.B. www-data).

Du musst sicherstellen, dass dieser User auch entsprechend Daten in das Verzeichnis schreiben darf.




www.php-einfach.de, PHP lernen leicht gemacht
www.webhosterwissen.de, Webhosting-Vergleich



17.12.2018, 10:31 Profil | PM | E-Mail  
epo60
Mitglied
Neuling


Dabei seit: 16.12.2018
Herkunft: keine Angabe
Posts: 4
      Zitat | Bearbeiten

Hallo,

Ich bin mir sicher das ich Apache schon Schreibrechte gegeben hatte. Bei PHP aber noch nicht. Oder habe ich da einen Denkfehler?

Hatte damals folgendes gemacht:

sudo groupadd www
sudo adduser $USER www
sudo chgrp www /var/www/html
sudo chmod g+w /var/www/html

Also "/var/www/html" hat definitiv Schreibrechte.


17.12.2018, 18:25 Profil | PM | E-Mail  
Andavos
Administrator
Foren-Gott


Dabei seit: 30.11.2003
Herkunft:
Posts: 6266
      Zitat | Bearbeiten

Setze mal die Schreibrechte auf 0777 für das Verzeichnis und teste dann nochmal das Script.

Beachte auch, dass die Schreibrechte in Unterordner anders sein können als für /var/www/html.

Leider kann das mit den Schreibrechten unter Linux manchmal echt trickreich sein.


www.php-einfach.de, PHP lernen leicht gemacht
www.webhosterwissen.de, Webhosting-Vergleich



19.12.2018, 10:46 Profil | PM | E-Mail  
epo60
Mitglied
Neuling


Dabei seit: 16.12.2018
Herkunft: keine Angabe
Posts: 4
      Zitat | Bearbeiten

Danke,

077{7} ist die Lösung.

Die Fett gedruckte 7 steht für andere Benutzer, die in dem Fall dann Vollzugriff haben, (dazu gehört PHP {www-data ist Apache}) ist wirklich trickreich.

BTW:
Der Standard Pfad für "file_put_contents();" ist der wo das Script liegt. Wenn keine magische konstante mit (__DIR__) angegeben wird.




Post wurde schon 1x editiert, das letzte mal am 19.12.2018 um 17:40 von epo60
19.12.2018, 17:23 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » PHP & MySQL » LAMP und Ubuntu, wo speichert PHP text Dateien ab   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz