Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Mittels php Dateien oder Dateipfade öffnen

Mitglied: Xenome

Xenome (Level 1) - Jetzt verbinden

02.09.2011 um 11:44 Uhr, 5545 Aufrufe, 3 Kommentare

Hallo liebe Community,

da ich mich in den letzten Tagen ein wenig mit der installation und konfiguration eines eigenen Wikipedia für meine Firma vertraut gemacht habe, habe ich recht schnell gemerkt dass man ohn PHP-Kenntnisse nicht sonderlich weit kommt. Von daher auch dieser Thread.

Folgendes ist bis jetzt gemacht worden und ist auch lauffähig:
Installation von XAMPP auf einem Windows-System
Installation von Mediawiki in der Version 1.17.0

Nun möchte ich die aktuell noch recht standardmäßige Installation anpassen. Hierbei möchte ich jedoch das eine oder andere noch erweitern. Hierbei würde ich gerne folgende Funktion einbinden, weiß jedoch nicht wie ich das machen soll.

In einem Artikel z.B. über unsere aktuellen Projekte möchte ich gerne auf Excel-Dateien verweisen oder auch auf Ordner.
Hierbei wäre es mir ganz recht das bei der Auswahl der xls Datei diese mit excel geöffnet wird und sich nicht als download öffnet.

Ich hoffe ihr könnt mir helfen.


Grüße

Xenome
Mitglied: nxclass
07.09.2011 um 15:34 Uhr
Prüfe mal die Header Informationen des Dokumentes wenn der Server die Datei sendet. ( 'application/xls' sollte drin stehen unter 'Content-type')
Bitte warten ..
Mitglied: Xenome
08.09.2011 um 08:26 Uhr
Morgen

im Header des Dokumentes beim öffnen der Datei steht der direkte Pfad zu der z.B. xls-Datei (Server/Dateipfad/Datei.xls).

Da MediaWiki alles auf verschiedene php-Dateien verteilt hätte ich jetzt auf anhieb keine Ahnung welche Datei ich da editieren sollte damit die von mir gewünschte Funktion funktioniert. Auf anhieb würde ich tippen, dass es die folgende php-Datei ist von der ich dir mal den Quelltext hier rein kopiere:

<?php

/
    • This file contains the main include file for the FileProtocolLinks extension of
    • MediaWiki. This code is released under the GNU General Public License.
    • As I am new to php the code for this plugin was taken from the XFNLinks Plugin.
    • Thanks to Travis Swicegood for his work.

    • @author Edmund Mielach <edmund.mielach@s.roteskreuz.at>
    • @copyright Copyright 2005, Edmund Mielach
    • @license http:opensource.org/licenses/gpl-license.php GNU Public License
    • @package MediaWikiExtensions
    • @version 0.2
*/

/

    • Register the FileProtocolLinks extension with MediaWiki
    */
    $wgExtensionFunctions[] = 'registerFileProtocolLinks';

    /
      • Sets the tag that this extension looks for and the function by which it
      • operates
    */
    function registerFileProtocolLinks()
    {
    global $wgParser;
    $wgParser->setHook('file', 'renderFileProtocolLink');
    }


    /

      • Renders a file protocol link based on the information provided by $input.
      • @param string
      • The string should be in the following format:
      • URI[;link text]
      • One example for a Windows environment would be:
      • c:/something.txt|some nice text
      • @return string
      • Returns an anchor tag for the given input. For the example above
      • the return string would be
      • <a style="color:green" href="file:///c:/something.txt“>some nice text</a>
      • The links are rendered in green text color to make it easier to recognize
      • them as local shares.
    */
    function renderFileProtocolLink($input)
    {
    $exploded = explode('|', $input);
    $uri = htmlentities($exploded[0], ENT_COMPAT, "UTF-8");

    if (!isset($exploded[1]) || empty($exploded[1])) {
    no linktext has been specified ==> use the URI as linktext
    $linktext = $uri;
    }
    else {
    $linktext = htmlentities($exploded[1], ENT_COMPAT, "UTF-8");
    }

    return sprintf('<a style="color:green" href="file:
    /%s">%s</a>',
    $uri, $linktext);
    }

    #credits for [[Special:Version]]
    $wgExtensionCredits['parserhook'][] = array(
    'name' => 'FileProtocolLinks',
    'author' => 'Edmund Mielach',
    'description' => 'highlights links to local filesystem',
    'url' => 'http://www.mediawiki.org/wiki/Extension:FileProtocolLinks'");
    ?>

    Ich hoffe dieser Quelltext hilft etwas, ansonsten schaue ich nochmal welche Dateien sonst noch so dafür verwendung finden könnten.

    Grüße

    Xenome
Bitte warten ..
Mitglied: nxclass
08.09.2011 um 11:34 Uhr
im Header des Dokumentes beim öffnen der Datei steht der direkte Pfad zu der z.B. xls-Datei (Server/Dateipfad/Datei.xls).
ich meinte was anderes - den Mime Type der im Response-Header des Servers steht. Es kann sein, dass dein Server da noch nicht richtig konfiguriert ist.

http://httpd.apache.org/docs/current/mod/mod_mime.html
http://httpd.apache.org/docs/current/mod/mod_mime_magic.html

EDIT: wenn du die Mod nicht installieren kannst:
erstelle eine php Datei: (dl.php)
01.
<?php
02.
define( 'ROOT_PATH', realpath('.').'/' );
03.
if (!empty($_GET['file'])) {
04.
    $file =  ROOT_PATH . preg_replace('/.*\//', '', $_GET['file']);
05.
    if (file_exists($file)) {
06.
        $pathinfo = pathinfo($file);
07.
        switch ($pathinfo['extension']) {
08.
            case 'doc':
09.
            case 'xls':
10.
                header('Content-Type: application/'.$pathinfo['extension']);
11.
                break;
12.
            // usw.
13.
            default:
14.
                header('Content-Type: application/octet-stream');
15.
        }
16.
        header('Content-Disposition: attachment; filename='.$pathinfo['basename']);
17.
        header('Content-Length: ' . filesize($file));
18.
        readfile($file);
19.
    }
20.
}
21.
exit;
22.
?>
und benutze 'dl.php?file=DieDatei.xls' im Link.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateipfad ausgeben
gelöst Frage von tegwertBatch & Shell2 Kommentare

Hallo zusammen! Ich nutze folgende Zeile zur Ermittlung der Dateipfade einer bestimmten mehrfach vorkommenden Datei: for %%a in (F ...

JavaScript
PHP Datei im Hintergrund durchlaufen
Frage von miichiii9JavaScript2 Kommentare

Hallo Miteinander Ich möchte gerne eine Aktualisierungsfunktion auf meiner Seite erstellen. Die aktuelle Seite im Browser ist "index.php" wenn ...

HTML
PHP Datei für das ABI
Frage von mrcljnffHTML7 Kommentare

Hallo, ich habe demnächst ABI und muss hier eine Aufgabe lösen auf dich ich seit Wochen keine Antwort finde. ...

PHP

Schreibrechte für Datei im PHP-Skript

gelöst Frage von itebobPHP1 Kommentar

Hallo, ich habe ein PHP-Skript schreiben1.php, das in eine Datei txt123.php schreibt. Wenn schreiben1.php so ausgeführt wird h ttp://server.tld/schreiben1.php ...

Neue Wissensbeiträge
Firewall
PfSense 2.5.0 benötigt doch kein AES-NI
Tipp von ChriBo vor 12 StundenFirewall

Hallo, Wie sich einige hier erinnern werden hat Jim Thompson in diesem Aritkel beschrieben, daß ab Version 2.5.0 ein ...

Internet
Copyright-Reform: Upload-Filter
Information von Frank vor 1 TagInternet

Hallo, viele Menschen reden aktuell von Upload-Filtern. Sie reden darüber, als wären es eine Selbstverständlichkeit, das Upload-Filter den Seitenbetreibern ...

Google Android

Blokada: Tracking und Werbung unter Android unterbinden

Information von AnkhMorpork vor 1 TagGoogle Android1 Kommentar

In Ergänzung zu meinem vorherigen Beitrag: Blokada efficiently blocks ads, tracking and malware. It saves your data plan, makes ...

Google Android
Facebooks unsichtbare Datensammlung
Information von AnkhMorpork vor 1 TagGoogle Android2 Kommentare

Rund 30 Prozent aller Apps im Play-Store nehmen Kontakt zu Facebook auf, sobald man sie startet. So erfährt der ...

Heiß diskutierte Inhalte
Linux Userverwaltung
LogIn Versuche beschränken auf EINEN Versuch
gelöst Frage von GarroshLinux Userverwaltung21 Kommentare

Folgendes Problem Ich habe einen dezidierten Server beim Hoster gemietet, installiert ist Ubuntu 18.04.2 LTS‬ und als Webinterface Plesk. ...

DSL, VDSL
Neuer Glasfaser Anschluss - IPv4-Adressraum
Frage von norre2000DSL, VDSL12 Kommentare

Hallo Zusammen, ich werde meinen Glasfaser Anschluss wechseln und bin beim Ausfüllen des Antrags auf Fragen gestoßen bei denen ...

Internet
Aktuell HP-Support-Seite kaputt?
gelöst Frage von LochkartenstanzerInternet12 Kommentare

Hallo Kollegen, Weiß einer von euch, seit wann die HP-Support-Seite kaputt ist? ) Wollte heute morgen Druckertreiber runterladen und ...

Ubuntu
Exchange Alternative auf Ubuntu
Frage von TELLOUbuntu11 Kommentare

Hi NG, wir müssen für unsere Kleine Firma (5 User) das Email / Kalendersystem neu einrichten. Ich könnte jetzt ...