[PHP] Ordner automatisch umbenennen

Bash, Shell, PHP, Python, Perl, CGI
david04
Posts: 29
Joined: 2003-06-16 21:09

[PHP] Ordner automatisch umbenennen

Post by david04 »

Hallo!

Ich hab ein (für mich) unlösbares Problem:

Ein Ordner auf meinem Server soll jeweils beim ersten Aufruf eines Tages (oder wie auch immer) umbenannt und der neue Name soll in einer SQL-Datenbank gespeichert werden.

Hintergrund: Auf meinem Server liegen einige Hundert (authorisierte) MP3s. Seit einiger Zeit verlinken immer mehr Seiten diese Dateien. Um dies zu umgehen soll der Ordner immer umbenannt werden. Und den neuen Namen des Ordners kann ich dann ja jeweils auf den Download-Seiten automatisch einfügen.

Kann mir einer helfen???

Gruß ausm Sauerland
DaviD // treasurechest.de
darkspirit
Posts: 553
Joined: 2002-10-05 16:39
Location: D'dorf

Re: [PHP] Ordner automatisch umbenennen

Post by darkspirit »

Wenns PHP sein soll, schau dir mal die Funktion "rename" an.. die kann auch Ordner umbenennen. http://www.php.net/manual/de/function.rename.php
Bastel dir damit einfach ein Script und lass es per Cron ausführen.
chris76
Posts: 1878
Joined: 2003-06-27 14:37
Location: Germering

Re: [PHP] Ordner automatisch umbenennen

Post by chris76 »

Ich weiß zwar nicht wie die es gemacht habe, aber der Downloadbereich auf der http://winhelpline.info ist so geschützt das sich die downloadlinks alle 15 Minuten ändern. So finde ich ist es ein guter Schutz gegen link Stealing


Ciao Christian
david04
Posts: 29
Joined: 2003-06-16 21:09

Re: [PHP] Ordner automatisch umbenennen

Post by david04 »

So, ich hab's mal ausprobiert und ein Verzeichnis "test1" angelegt, welches dann nach "test2" umbenannt werden soll.

Code: Select all

<?php
  rename("/home/www/web3/html/test1/", "/home/www/web3/html/test2/");
?>
Folgender Fehler kommt dann beim Aufruf:
Warning: rename() failed (Permission denied) in /home/www/webx/html/ren.php on line 2
Ordner = CHMOD 777 - Was nun???
r00ty
Posts: 747
Joined: 2003-03-17 15:32

Re: [PHP] Ordner automatisch umbenennen

Post by r00ty »

du könntest dir auch überlegen, die
MP3-Dateien durch Skripts zu ersetzten:

eine .htaccess im mp3 Verzeichnis:

Code: Select all

AddType application/x-httpd-php .mp3
das Script:
Song1.mp3

Code: Select all

if (KOMME_VON_IP != IP DES SERVERS) { // befehle weiss ich grad nicht auswendig
  //mache hier irgendwas ? umeiten auf deine Hauptseite 
} else {
  require ($_SERVER["DOCUMENT_ROOT"]."/wahrerpfadzump3datei/Song1.mp3");
}
wgot
Posts: 1675
Joined: 2003-07-06 02:03

Re: [PHP] Ordner automatisch umbenennen

Post by wgot »

Hallo,
david04 wrote:Warning: rename() failed (Permission denied) in /home/www/webx/html/ren.php on line 2

Ordner = CHMOD 777 - Was nun???
Script unter dem korrekten User ausführen (PHP als CGI), Perl verwenden, oder als Murkslösung:

Der übergeordnete Ordner muß ebenfalls 777 haben, natürlich nicht den html-Ordner umsetzen, sondern tiefer schachteln.

/home/www/webX/html/test/test1/

test und test1 auf 777.

Dann klappt's auch unter falschem User.

Nochmal: ist Murks.

Gruß, Wolfgang
david04
Posts: 29
Joined: 2003-06-16 21:09

Re: [PHP] Ordner automatisch umbenennen

Post by david04 »

Hallo Wolfgang!

Der Murks-Vorschlag hat geklappt. Solange ich das erprobe, sollte diese Vorgehensweise kein Problem sein. Danke nochmal!!!

DaviD
darkspirit
Posts: 553
Joined: 2002-10-05 16:39
Location: D'dorf

Re: [PHP] Ordner automatisch umbenennen

Post by darkspirit »

Sorry, das ist einfach ganz großer Mist.. Einen Ordner mit 777 im Document-Root liegen zu haben ist evil :?
Setz lieber den Owner des zu kopierenden Ordners auf den Apache/PHP-User, dann klappt das auch mit 755, wie es sein sollte...
david04
Posts: 29
Joined: 2003-06-16 21:09

Re: [PHP] Ordner automatisch umbenennen

Post by david04 »

äh, wie mach ich das :oops: ??
darkspirit
Posts: 553
Joined: 2002-10-05 16:39
Location: D'dorf

Re: [PHP] Ordner automatisch umbenennen

Post by darkspirit »

Also das praktischste für dich wäre wohl, wenn (wie oben schon erwähnt wurde) du einen Ordner /home/www/web3/html/test/test1 erstellst. Dann ein "chown -R USERNAME /home/www/web3/html/test", wobei USERNAME der Apache-User ist. jetzt kannst du das Unterverzeichnis test1 beliebig umbenennen, solange du dabei im Ordner test bleibst.. und das tolle daran, das geht auch mit 755 :wink:
r00ty
Posts: 747
Joined: 2003-03-17 15:32

Re: [PHP] Ordner automatisch umbenennen

Post by r00ty »

und was ist meiner Lösung ?
ist doch sauber und elegant, oder ? (wenn sich jemand die Mühe macht kann er nämlcih auch das renamen mit nem kleinen Script aushebeln)
wgot
Posts: 1675
Joined: 2003-07-06 02:03

Re: [PHP] Ordner automatisch umbenennen

Post by wgot »

Hallo,

dann kann er ihn zwar bei 755 problemlos umbenennen, aber mit ftp nix mehr reinladen.

PHP als CGI mit suPHP und alles klappt problemlos mit minimalen Rechten. Am besten die Doppellösung mit .php und .php4, die hier schon öfter beschrieben wurde.

Zum Umbenennen ein Perlscript aufrufen ist auch möglich, weil Perl unter korrektem Usernamen läuft.

Gruß, Wolfgang
wgot
Posts: 1675
Joined: 2003-07-06 02:03

Re: [PHP] Ordner automatisch umbenennen

Post by wgot »

@rooty

Hallo,

der Referer läßt sich fälschen, und bei manchen Browsern (Opera) schlichtweg abschalten.

Gruß, Wolfgang