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, 5406 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 abgreifen
Frage von Julian2222Batch & Shell4 Kommentare

Hallo, wenn man ja eine Datei öffnet, wird ja der Pfad der Datei dem Standardprogramm welches in Windows hinterlegt ...

Batch & Shell

exe Datei zum Öffnen einer anderen Datei

gelöst Frage von Amateur01Batch & Shell15 Kommentare

Hallo, ich ein kompletter Anfänger, der ein kleines Programm schreiben wollte, um einen Löschvorgang zu automatisieren. Irgendwann hatte ich ...

VB for Applications

Dateipfad extrahieren

gelöst Frage von Anna2701VB for Applications4 Kommentare

Ich habe folgendes : Filepath = TxtHyperlinkDokument.Hyperlink.Address Nun möchte ich mit Hilfe von Filepath, Filepath_Neu erzeugen, indem nur der ...

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 ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 2 TagenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 2 TagenSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 3 TagenDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein interessanter Beitrag dazu: Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10 Anscheinend ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 3 TagenSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1015 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

DSL, VDSL
Mindestgeschwindigkeiten DSL Telekom
Frage von justlukasDSL, VDSL14 Kommentare

Hallo zusammen, Seit diesem Jahr habe ich Verständnisprobleme mit dem Verhalten der Telekom. Wir haben seit einem Jahr VDSL ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)11 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Switche und Hubs
LANCOM-Switch: Probleme (no link) mit SFP-Modulen?
Frage von THETOBSwitche und Hubs11 Kommentare

Hi zusammen, ich habe folgendes Problem: Und zwar habe ich an einem Standort drei Switche verbaut - LANCOM GS-2326P+, ...