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

Frage Entwicklung PHP

Mitglied: Xenome

Xenome (Level 1) - Jetzt verbinden

02.09.2011 um 11:44 Uhr, 5370 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
Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 2 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit7 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...