PHP Script das Dateien sucht
PHP Script das Dateien sucht
hallo
ich brauche ein PHP Script, das auf dem Webserver eine Datei sucht und diese dann auf dem Client im Medienplayer öffnet.
Die gesuchte Datei befindet sich aber nicht im /var/www Verzeichnis, sondern woanders in /var/
Es währe optimal, wenn man ein kleine Webseite hat, die man im Browser aufruft, dort einfach den Namen der Datei eingibt und diese dann auf dem Client im Medienplayer geöffnet wird.
Hat jemand eine Idee?
ich brauche ein PHP Script, das auf dem Webserver eine Datei sucht und diese dann auf dem Client im Medienplayer öffnet.
Die gesuchte Datei befindet sich aber nicht im /var/www Verzeichnis, sondern woanders in /var/
Es währe optimal, wenn man ein kleine Webseite hat, die man im Browser aufruft, dort einfach den Namen der Datei eingibt und diese dann auf dem Client im Medienplayer geöffnet wird.
Hat jemand eine Idee?
Re: PHP Script das Dateien sucht
Dann darf der Webserver nicht in einer chroot laufen. Das zuerst prüfen.gnude hat geschrieben:Die gesuchte Datei befindet sich aber nicht im /var/www Verzeichnis, sondern woanders in /var/
Du kannst einen entsprechenden Content-Type senden und dann die Datei einfach cat'en. Das sollte funktionieren.Es währe optimal, wenn man ein kleine Webseite hat, die man im Browser aufruft, dort einfach den Namen der Datei eingibt und diese dann auf dem Client im Medienplayer geöffnet wird.
Use ed once in a while!
Re: PHP Script das Dateien sucht
hmm
wie kann ich das prüfen?
ich hab jetzt nen dateimanager script gefunden, das zeigt mir auch schon die dateien an in dem verzeichnis,
aber... die suche oder zugriff funktioniert nicht. scheint ein problem mit den berechtigungen zu sein. ich weiss aber noch nicht genau, welches...ich suche noch.
kann ich das verzeichnis nicht verlinken in ein unterverzeichnis nach www ????
mit ln /var/spool/dateien/ /var/www/dateien
bin ich nicht erfolgreich gewesen....
wie kann ich das prüfen?
ich hab jetzt nen dateimanager script gefunden, das zeigt mir auch schon die dateien an in dem verzeichnis,
aber... die suche oder zugriff funktioniert nicht. scheint ein problem mit den berechtigungen zu sein. ich weiss aber noch nicht genau, welches...ich suche noch.
kann ich das verzeichnis nicht verlinken in ein unterverzeichnis nach www ????
mit ln /var/spool/dateien/ /var/www/dateien
bin ich nicht erfolgreich gewesen....
Re: PHP Script das Dateien sucht
Die Dateien müssen für den User www-data (vermutlich) lesbar sein (und er muss Berechtigungen im Pfad bis dorthin haben).gnude hat geschrieben:aber... die suche oder zugriff funktioniert nicht. scheint ein problem mit den berechtigungen zu sein. ich weiss aber noch nicht genau, welches...ich suche noch.
Mit Hardlinks, ja. Dann ist auch das Thema chroot kein Problem mehr.kann ich das verzeichnis nicht verlinken in ein unterverzeichnis nach www ????
mit ln /var/spool/dateien/ /var/www/dateien
Use ed once in a while!
Re: PHP Script das Dateien sucht
wie kann ich denn vernünftig nen hardlink darauf setzten???
die dateien liegen jetzt im folgenden verzeichnis:
/var/spool/asterisk/monitorarchive
und der websever läuft hier:
/var/www
wie bekomm ich das verzeichnis korrekt verlinkt?
die dateien liegen jetzt im folgenden verzeichnis:
/var/spool/asterisk/monitorarchive
und der websever läuft hier:
/var/www
wie bekomm ich das verzeichnis korrekt verlinkt?
Re: PHP Script das Dateien sucht
Wie du oben schon selbst (mit anderen Pfaden) geschrieben hast:gnude hat geschrieben:wie bekomm ich das verzeichnis korrekt verlinkt?
Code: Alles auswählen
ln /var/spool/asterisk/monitorarchive /var/www/monitorarchive
Code: Alles auswählen
printf "Content-Type: "
file -ib "$file"
echo
cat "$file"
Use ed once in a while!
Re: PHP Script das Dateien sucht
gibt es nicht auch eine php only lösung?
Re: PHP Script das Dateien sucht
Doch, du musst die entsprechenden Befehle halt in PHP schreiben. AFAIK sollte das möglich sein. Mein Shellscript sollte nur verdeutlichen *was* getan werden muss, nicht *wie*.gnude hat geschrieben:gibt es nicht auch eine php only lösung?
Wie du das umsetzst, ist erstmal deine Aufgabe. Ich kann zwar PHP, habe aber, verständlicherweise, nicht viel Lust den Code für dich zu schreiben oder groß im Web zu recherchieren. Wenn du Code lieferst, dann schaue ich jedoch gerne drüber und helfe zu verbessern und Fehler zu korrigieren.
Mein Vorschlag:
- Konzentriere dich zuerst auf die Inhalte *eines* Ordners. Also keine Suche durch einen Verzeichnisbaum, sondern nur über die Dateien eines Ordners. (Erweitern kannst du später noch.) Die entscheidenen Funktionen waren AFAIR: opendir(), readdir(), etc.
- Wenn das funktioniert, schaue wie du den Content-Type der Datei herausfindest (das was `file -ib' in der Shell macht). Falls der Content-Type immer der gleiche ist, kannst du ihn (erstmal) auch fest rein kodieren.
- Wenn das geht, gebe die Datei entsprechend aus: Content-Type-Zeile, Leerzeile, Dateiinhalt. (Näheres findest du in Beschreibungen zu CGI.)
Use ed once in a while!
Re: PHP Script das Dateien sucht
hmm
kurzes script:
liest das verzeichnis aus.
jetzt müsste ich nur... nach einen teil des dateinames filtern und den pfad mit ausgeben...
kurzes script:
Code: Alles auswählen
if ($dir = @opendir("/tmp")) {
while ($file = readdir($dir)) {
echo "$file\n";
}
closedir($dir);
}
jetzt müsste ich nur... nach einen teil des dateinames filtern und den pfad mit ausgeben...
Re: PHP Script das Dateien sucht
hallo
folgendes script soll in einem festen verzeichnis alle dateien anzeigen, wo die nummer "23" im dateinamen drin vorkommt.
aber...
er zeigt was an, aber der erzeugte link ist nicht anklickbar...
fehlermeldung:
The requested URL /\var\spool\asterisk\monitorarchive1" was not found on this server.
folgendes script soll in einem festen verzeichnis alle dateien anzeigen, wo die nummer "23" im dateinamen drin vorkommt.
aber...
er zeigt was an, aber der erzeugte link ist nicht anklickbar...
Code: Alles auswählen
<?php
$verzeichnis = openDir("/var/spool/asterisk/monitorarchive/61");
while ($file = readDir($verzeichnis)) {
if ($file != "." && $file != "..") {
if (strstr($file, "23")) {
$name = explode(".", $file);
echo "<a href=\var\spool\asterisk\monitorarchive\61\">$name[0]</a><br>\n";
}
}
}
closeDir($verzeichnis);
?>
fehlermeldung:
The requested URL /\var\spool\asterisk\monitorarchive1" was not found on this server.
Re: PHP Script das Dateien sucht
Ist ne ernst gemeinte Frage, hast Du überhaupt Ahnung was Du da in dem Script tust?gnude hat geschrieben:hallo
folgendes script soll in einem festen verzeichnis alle dateien anzeigen, wo die nummer "23" im dateinamen drin vorkommt.
aber...
er zeigt was an, aber der erzeugte link ist nicht anklickbar...Code: Alles auswählen
<?php $verzeichnis = openDir("/var/spool/asterisk/monitorarchive/61"); while ($file = readDir($verzeichnis)) { if ($file != "." && $file != "..") { if (strstr($file, "23")) { $name = explode(".", $file); echo "<a href=\var\spool\asterisk\monitorarchive\61\">$name[0]</a><br>\n"; } } } closeDir($verzeichnis); ?>
fehlermeldung:
The requested URL /\var\spool\asterisk\monitorarchive1" was not found on this server.
Also ein <a href=\var\spool\asterisk\monitorarchive\61\">$name[0]</a> kann Dir niemals den Pfad richtig liefern, ausser Du bist selbst auf dem Server drauf und hast als Benutzer leserechte.
Um auf die Datei zuzugreifen müste diese für den Webserver verfügbar sein, was Sie derzeit immer noch nicht ist, zumindest wenn Du dein script so nutzt. Dafür entweder das Verzeichniss entsprechend Hard linken und die URL passend zusammen bauen, oder das ganze über einen Alias im Apachen machen und dann die URL richtig zusammen bauen.
Re: PHP Script das Dateien sucht
Der HTML-Code ist natürlich unsinnig. Doch für das eigentliche Problem ist dieser Pfad schon das was gebraucht wird.tafkad hat geschrieben:Also ein <a href=\var\spool\asterisk\monitorarchive\61\">$name[0]</a> kann Dir niemals den Pfad richtig liefern, ausser Du bist selbst auf dem Server drauf und hast als Benutzer leserechte.
Oder meinen Lösungsansatz verwenden, was vermutlich einfacher ist.Um auf die Datei zuzugreifen müste diese für den Webserver verfügbar sein, was Sie derzeit immer noch nicht ist, zumindest wenn Du dein script so nutzt. Dafür entweder das Verzeichniss entsprechend Hard linken und die URL passend zusammen bauen, oder das ganze über einen Alias im Apachen machen und dann die URL richtig zusammen bauen.
Use ed once in a while!
Re: PHP Script das Dateien sucht
der webserver steht um die ecke un dist im lokalen intranet.
ich habe root zugriff darauf.
ich habe root zugriff darauf.
Re: PHP Script das Dateien sucht
ich hab noch dieses script gefunden.
das macht aber gar nix. soll aber ein aktuelles verzeichnis nach dateinamen durchsuchen und diese dann ausgeben....
das macht aber gar nix. soll aber ein aktuelles verzeichnis nach dateinamen durchsuchen und diese dann ausgeben....
Code: Alles auswählen
<?php
if($action=="look")
{
such();
}
if($action=="search")
{
such();
echo "<hr>";
$dat="ordner";
$file=opendir($dat);
while($datei=readdir($file))
{
$temp=$datei;
$temp=substr($datei,strlen($datei)-strlen($fe),strlen($datei)-1);
if($temp==$fe)
{
$sz=filesize($datei) / 1024;
$erg=$erg."<br>".$datei." (".$sz." KB)";
}
}
if($erg=="") { $erg="Keine *.$fe Dateien gefunden.";}
echo $erg;
}
function such()
{
echo "<form method=post action=$PHP_SELF>";
echo "Nach welchem Dateityp soll gesucht werden <br>(Bsp.: mp3, doc, exe, bat ... etc) :<br>";
echo "<input size=30 name=\"fe\"><br>";
echo "<input type=submit value=\"search\">";
echo "<input type=hidden name=\"action\" value=\"search\">";
echo "</form>";
}
?>
Re: PHP Script das Dateien sucht
Mal 'ne grundsätzliche Frage: Kannst du überhaupt PHP?
Wenn nein, dann heißt das wohl, dass dir jemand das Programmieren soll. Das sollte dann aber klar werden.
Wenn ja, dann frage ich mich, warum du nicht einfach die Bausteine nimmst du dir was passendes zusammenbastelst.
Der Thread dümpelt so vor sich hin aber es geht nicht vorwärts ... und das liegt nicht an der grundsätzlichen Hilfsbereitschaft der Community. Wo hapert's denn (bei dir)?
Wenn nein, dann heißt das wohl, dass dir jemand das Programmieren soll. Das sollte dann aber klar werden.
Wenn ja, dann frage ich mich, warum du nicht einfach die Bausteine nimmst du dir was passendes zusammenbastelst.
Der Thread dümpelt so vor sich hin aber es geht nicht vorwärts ... und das liegt nicht an der grundsätzlichen Hilfsbereitschaft der Community. Wo hapert's denn (bei dir)?
Use ed once in a while!
Re: PHP Script das Dateien sucht
nein
ich kann kein php.
ich kann kein php.
Re: PHP Script das Dateien sucht
Das ändert natürlich die Art der Anfrage: Gesucht ist also ein *fertiges* Script das das Problem löst.gnude hat geschrieben:nein
ich kann kein php.
Erste Ansätze gibt's ja schon. Wäre schön, wenn jemand die Teile zusammenfügt.
Freiwillige vor. Es gibt auch ein großes Danke dafür.
Use ed once in a while!
Re: PHP Script das Dateien sucht
hi
danke schonmal....
das interesse php zu lernen ist natürlich vorhanden.
jetzt hab ich hier ein php buch liegen, und sehe dort, das es einen shell_exec befehlt gibt.
man könnte diesem ja ganz unkonventionell einfach einen suchstring übergeben:
gesuchte_datei = shell_exec("find -name *bla*);
damit hätten wir doch in der variable gesuchte_datei das suchergebnis. das müsste man dann nur noch als darstellbaren link umwandeln?
danke schonmal....
das interesse php zu lernen ist natürlich vorhanden.
jetzt hab ich hier ein php buch liegen, und sehe dort, das es einen shell_exec befehlt gibt.
man könnte diesem ja ganz unkonventionell einfach einen suchstring übergeben:
gesuchte_datei = shell_exec("find -name *bla*);
damit hätten wir doch in der variable gesuchte_datei das suchergebnis. das müsste man dann nur noch als darstellbaren link umwandeln?
Re: PHP Script das Dateien sucht
Seht da was für Save-Mode (oder wie das heißt). Evtl. ist der Befehl nämlich inaktiv. Das hat auch gute Gründe, denn vielleicht schreibst du sowas wiegnude hat geschrieben:jetzt hab ich hier ein php buch liegen, und sehe dort, das es einen shell_exec befehlt gibt.
man könnte diesem ja ganz unkonventionell einfach einen suchstring übergeben:
gesuchte_datei = shell_exec("find -name *bla*);
damit hätten wir doch in der variable gesuchte_datei das suchergebnis.
Code: Alles auswählen
shell_exec("find -name *$string*");
Code: Alles auswählen
http://example.com/script.php?string=;rm%20
Also lieber mit PHP-Code (von Hand) die relevanten Verzeichnisse durchgehen und nach der Datei suchen. Das sollte auch nicht das große Problem sein.
Das eben ist der Punkt. Alles was oberhalb von DOCUMENT_ROOT (meist /var/www) liegt kann grundsätzlich *nicht* als Link in HTML dargestellt werden. Du musst die Datei entweder mit einem Hardlink nach irgendwo unter DOCUMENT_ROOT linken (gehen Softlinks auch?), oder du kopierst mit PHP die Datei durch.das müsste man dann nur noch als darstellbaren link umwandeln?
Ich bin stark für zweitere Variante. Schau dir mal [0] an, das erste Beispiel zeigt wie die Datenübertragung läuft.
[0] http://de3.php.net/manual/en/function.readfile.php
Use ed once in a while!
Re: PHP Script das Dateien sucht
hallo,
ich habe folgendes tool gefunden, was 100% passt:
http://code.google.com/p/dsearchr/updates/list
wenn ich es im internet unter funpic.de hochlade und teste macht es genau das was ich will.
aber auf der iptam anlage, wo es laufen soll (mit debian 4.0, apache und php) macht es keine ausgabe.
php läuft dort aber.
was kann da fehlen, an welcher konfiguraton muss ich drehen???
ich habe folgendes tool gefunden, was 100% passt:
http://code.google.com/p/dsearchr/updates/list
wenn ich es im internet unter funpic.de hochlade und teste macht es genau das was ich will.
aber auf der iptam anlage, wo es laufen soll (mit debian 4.0, apache und php) macht es keine ausgabe.
php läuft dort aber.
was kann da fehlen, an welcher konfiguraton muss ich drehen???