include PDF file?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Database ontwikkelaar

Functieomschrijving Wil jij aan gave logistieke softwareprojecten werken en bij een uniek softwarebedrijf in de regio van Tilburg? Wacht niet langer en reageer snel op deze vacature. Als Database ontwikkelaar ga je aan de slag het schrijven van stored procedures en verder uitbouwen van de SQL database. Je werkt in een database team, met allemaal mensen die energie krijgen van software en techniek. Verder krijg je als taak: Optimaliseren en uitbouwen van de MS SQL databases die gebruikt worden; Optimaliseren van query's, waardoor er efficiënter gewerkt kan worden; Je werkt met de technieken T-SQL of PL/SQL; Bij interesse kan je

Bekijk vacature »

Front-end developer Supply Chain Angular, ReactJS,

Functie Het development team bestaat momenteel uit 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creëren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld meedenken over strategie en design. Hierin krijg je veel vrijheid om de functie naar eigen inzicht in te vullen en te pionieren. Alle data die wordt gebruikt is zichtbaar in een webapplicatie, geschreven in Angular en React. Momenteel zijn ze bezig om de dashboards anders vorm te geven en de

Bekijk vacature »

Back end developer

Functie Jij als full stack ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor 90% van je tijd je bezig houden met het ontwikkelen van grote maatwerk applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. De technische uitdaging momenteel is dat

Bekijk vacature »

Java developer - procesoptimalisatie (Inhouse)

Functie Wat ga je doen als Java developer? Jij als back end developer hebt al enige ervaring opgedaan in jouw vakgebied. Voornamelijk het werken met Java en Spring spreekt jou aan. Jij wordt samen met je collega developers in het team verantwoordelijk voor de gehele back end van de applicatie. Hierdoor heb jij veel zelfstandigheid in je rol en zul je ook zelf beslissingen samen met de PO maken. Er wordt gewerkt volgens de SCRUM methodiek, om zo structuur te creëren in de werkzaamheden. Binnen de 2-wekelijkse sprints pak jij je taken op die samen met de PO afgestemd zijn.

Bekijk vacature »

.NET Developer Medior Senior

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Herbruikbare componenten maken; Testen; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als .NET Developer kom jij terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als .NET Developer werk jij aan het ontwikkelen van verbeterde software voor

Bekijk vacature »

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

Node.js developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

Front end developer

Functie Binnen de functie van Front-end developer werk je mee aan uitdagende klantprojecten. In teamverband werk je aan de voorkant van onze state-of-the-art portaal oplossingen en apps. Dit alles gebeurt in een multidisciplinaire omgeving waarbij je de ruimte hebt om te sparren, je ideeën scherp te stellen, en waar je met de benodigde kennis en ervaring om je heen altijd terecht kunt bij je collega’s voor vragen en ondersteuning. Meestal werk je vanuit ons kantoor maar we bieden ook alle faciliteiten om thuis te kunnen werken. Voor sommige projecten ga je mee naar de klant, wellicht zelfs in het buitenland!

Bekijk vacature »

Front-end developer - working on software for arou

Functie They have recently started looking for an experienced Front-end (mobile/app) developer. Because of the short lines within the team, they are also looking for someone who can communicate with the service desk, sales and support for technical questions. You will join their IT team consisting of about 10 colleagues divided over two teams in rooms opposite each other. Half of these are involved in their front-end. You will work together with, among others, the Architect, 1 senior, 1 junior and there is a Team Leader. In terms of technology, they work with a unique tech-stack, particularly because of the

Bekijk vacature »

Front-End React Developer

As a Front-End React Developer you improve the user-experience of our web applications for your colleagues in Coolblue. How do I become a Front-End React Developer at Coolblue? As a Front-End React Developer you are responsible for developing user interface components and implementing them using React.js concepts and workflows. You work with the UX Designer and get energy from coming up with creative solutions and present these within the team. During the day you gather and welcome feedback on your technical and soft skills. Would you like to become a Front-End React Developer at Coolblue? Read below if the job

Bekijk vacature »

Belastingdienst - Freelance Senior Cobol Applicati

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 7 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: In de applicatie ETM zijn nu de inningsvoorzieningen voor ongeveer 25 aangifte- en aanslagmiddelen opgenomen. ETM is een extern aangeschafte service en het huidige contract met leverancier Oracle loopt af op 31-12-2022. Het programma uitfaseren ETM heeft als doel om vervanging te realiseren waarmee alle nu in gebruik zijnde ETM ondersteuning wordt overgenomen in nieuwe Inningsvoorzieningen om de continuïteit van de inningsprocessen te waarborgen. Eén van de inningsvoorzieningen die voor het einde van 31-12-2022

Bekijk vacature »

Front-end developer E-Commere

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als front-end developer heb je een adviserende rol en sta je aan het eindpunt van alles wat met designs te maken heeft. Je overlegt met klanten en collega’s, en zet je in om ideeen om te zetten tot unieke concepten. Je bent het aanspreekpunt voor de klant en bewaakt tevens de planning. Eisen

Bekijk vacature »

Back-end PHP Software Developer - Juniorfunctie

Functieomschrijving Wij zijn op zoek naar een PHP Software Developer om ons team te versterken en mee te werken aan de ontwikkeling van eigen IOT-oplossingen. In deze functie ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor het uitlezen en managen van sensoren in machines. Je werkt nauw samen met een team van ontwikkelaars en engineers om de beste software-oplossingen te creëren. Jouw werkzaamheden zien er als volgt uit: Je bent in deze rol verantwoordelijk voor het ontwerpen, ontwikkelen en onderhouden van webapplicaties en softwaretoepassingen voor in-house ontwikkelde IOT oplossingen. Je werkt aan complexe databases en back-end

Bekijk vacature »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

Bekijk vacature »

Als Lead PHP developer bijdragen aan het onderwijs

Functie Als Lead PHP developer zet je samen met het team en de andere lead developers de technische lijnen uit als het gaat om het ontwikkelen van de applicaties en bepaal je samen met de PO waar elke sprint aan gewerkt zal worden. Je kunt op basis van een user story een goede aanpak formuleren en een planning opstellen, en andere hierin meenemen. Wanneer je team code schrijft verwacht je degelijke oplossingen, bij voorkeur gebruik makend van Domain Driven Design. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit

Bekijk vacature »
Marco V

Marco V

22/04/2011 11:14:16
Quote Anchor link
Ik heb een dir met PDF bestanden:

/opdrachten
1.pdf
2.pdf
3.pdf

Om nu te voorkomen dat een bezoeker door de map gaat bladeren heb ik een .htacces file geplaatst die ik elders ook gebruik om te voorkomen dat documenten in deze dir direct aangeroepen kunnen worden:

Options +Includes
AddType text/html shtml php
AddHandler server-parsed shtml

Tot dusver ben ik nog niet tegen het probleem aangelopen, omdat ik via een include of require scripts toevoegde uit dergelijke directories, maar nu wil ik de PDF bestanden openen in een nieuw browser venster.

Kan dit ook met een include of require of is er een slimmere manier?
Mijn idee is om een post te doen naar een .php script buiten deze map waarbij ik de bestandsnaam en dirnaam mee geef.

Tips?
 
PHP hulp

PHP hulp

05/11/2024 13:27:12
 
B a s
Beheerder

B a s

22/04/2011 11:18:20
Quote Anchor link
Je kunt de geheime PDF bestanden beter in een dir buiten de WWW directory bewaren. Dan zijn ze veilig en kun je ze ook echt alleen via een handeling op de server bereiken. Zie bijvoorbeeld download pop-up bij elk bestand.
 
Marco V

Marco V

22/04/2011 11:21:34
Quote Anchor link
ik ben bang dat mijn huidige provider mij niet toestaat om buiten de www dir te schrijven, maar het is een idee om even te proberen.

Ondertussen vroeg ik me ook nog af of ik bij AddType (in htaccess) PDF moet toevoegen in de huidige setup? (ben geen expert in htaccess)
 
Jelmer -

Jelmer -

22/04/2011 11:26:59
Quote Anchor link
Je kan ook gewoon de toegang blokkeren via htaccess:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
order deny, allow
deny from all

Direct aanroepen wil dan niet meer, maar omdat je PHP script niet via Apache bij de bestanden komt maar gewoon via het bestandssysteem, kan die er wel zonder beperkingen bij.

Het is wel veiliger om de bestanden buiten je www-root te zetten, want hier is het nog mogelijk dat bij een upgrade oid de configuratie van Apache verandert, en .htaccess bestanden worden genegeerd waardoor je plots wel bij de bestanden kan. (ook leuk als datzelfde gebeurt en PHP bestanden als platte tekst worden gezien)
 
Marco V

Marco V

22/04/2011 11:39:55
Quote Anchor link
Welke locatie het dan ook wordt... kan ik dan bijvoorbeeld een PDF bestand includen (en dus weergeven) met:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$file
= "/server/".$_POST['dirnaam']."/".$_POST['bestandsnaam'];
readfile($file);
?>


dus zonder enige html, eigenlijk hetzelfde als wanneer je rechtstreeks naar het bestand een link maakt?
 
Jelmer -

Jelmer -

22/04/2011 12:18:20
Quote Anchor link
In plaats van Apache die de bytes van het bestand leest en naar de browser stuurt is het nu PHP die dat doet. Voor de rest gebeurt er (ongeveer) hetzelfde.
 
Marco V

Marco V

22/04/2011 12:19:52
Quote Anchor link
ik ga even wat proberen, dank voor jullie reacties!

Toevoeging op 22/04/2011 14:22:08:

Nou, ik ben er bijna...

Heb even geinformeerd, maar zoals verwacht heb ik geen rechten om buiten de root te schrijven! Het zal dus binnen de www map moeten met een .htaccess beveiliging op de dir met pdf bestanden.

So far, so good! Maar, nu ik met het onderstaande script een PDF wil openen, wordt het bestand als tekst geopend. Ik vermoed dat ik iets van een embed ofzo zal moeten doen?? Het resultaat is nu zoiets als:

"%PDF-1.7 3 0 obj <> /Resources 2 0 R /Contents 4 0 R>> endobj 4 0 obj <> stream xœí[KoÛ8¾ûWÌehX>DI잤O4ív뢇¶Å¢Ùz8²ì=õ§ä§.©W(GubÇv”…DÉhÌ™Ã™á eaĸ ïþÿT|õûÂèwÜ‡ç¯ ¬hèáU¿‡7t\pD]õ9 ®E%³1²]........... enz"

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if (($pad) AND ($bestandsnaam)) {
    $file = $pad.$bestandsnaam;
    readfile($file);
}

?>


Toevoeging op 22/04/2011 14:29:38:

Ohh... nevermind, ik heb de oplossing gevonden!
Even gekeken naar een voorbeeld van readfile:

Het moet zijn:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if (($pad) AND ($bestandsnaam)) {
    $file = $pad.$bestandsnaam;

if (file_exists($file)) {
    header('Content-Type: application/pdf');
    ob_clean();
    flush();
    readfile($file);
    exit;
}

?>
 
Marco V

Marco V

26/04/2011 11:33:51
Quote Anchor link
Goedemorgen!

Na voorgaande loop ik toch nog tegen een ding aan... namelijk als ik vanuit een venster een PDF bestand wil openen in een nieuw venster:

<html>
<form action="/pdf.php" method="post" name="form1" target="_new" id="form1">
<input type="image" name="Open" id="Open" value="Open" src="/buttons/application-pdf-2.png" width="48" height="48" border="0" align="middle" alt="Open inkoopopdracht" />inkoopopdracht
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $INKOOPNR; ?>

<input name="file" type="hidden" id="file" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $file_name; ?>
" />
<input name="path" type="hidden" id="path" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $file_dir; ?>
" />
</form>
</html>

In eerste instatie gaat dit goed, maar als de gebruiker dit nieuwe venster niet sluit en vervolgens nogmaals op het icoon klikt om deze (of een andere) pdf te openen dan geeft de controle van onderstaande script foutmeldingen:

> de bestandsnaam is ongeldig!
> het pad is ongeldig!

Het volledige script voor het openen van de PDF:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
    # Met dit script kunnen PDF bestanden worden geopend
    # via een POST naar dit script wordt het "pad" en de "bestandsnaam" opgegeven
    # via de variabelen '$_POST['file'] en $_POST['path']
    # In onderstaande parameters geven we op welke extenties zijn toegestaan,
    # wat de naam van de rootdir is en of bestanden buiten de rootdir ook opgevraagd mogen worden.
    # Vervolgens wordt het bestand geopend in het venster

    # ---------------------------------- PARAMETERS ----------------------------------
    
    # onderstaande parameters moeten worden ingesteld voor de juiste werking van de controles!
    
    // de bestandsextenties die we verwachten

    $toegestane_extenties = "pdf|PDF"; // bijvoorbeeld extenties voor afbeeldingen: "jpg|jpeg|gif|png";
    
    // naam van de web(root)dir (meestal: "www")

    $rootdir = "httpd.www";
    
    // is het toegestaan om bestanden buiten de web(root)dir op te halen: (J/N)
    $buiten_root = "N";
    
    # --------------------------------------------------------------------------------

    # Controle of de bestandsnaam een toegestane extentie .pdf heeft
    
    // string voor toegestane extenties

    $rEFileTypes = "/^\.(".$toegestane_extenties."){1}$/i";

    // als alles achter de laatste '.' overeenkomst met de toegestane extenties
    if (preg_match($rEFileTypes, strrchr($_POST['file'], '.'))) {
        // zet de waarde voor $bestandsnaam
        $bestandsnaam = $_POST['file'];
    }
else {
        echo "de bestandsnaam ".$_POST['file']." is ongeldig!<br />";
    }


    // de huidige locatie opvragen
    $huidige_locatie = getcwd();
    // haal het pad naar de root uit $huidige_locatie
    $rootpad = strstr($huidige_locatie, $rootdir, true);
    
    // bestand buiten de "WWW" map toestaan:
    if (($buiten_root == "J") AND (strstr($_POST['path'], $rootdir, true) == $rootpad)) {
        $pad = $_POST['path'];
    }

    else
    // alleen bestanden binnen de "WWW" map toestaan:
    if (($buiten_root == "N") AND ((strstr($_POST['path'], $rootdir, true).$rootdir) == ($rootpad.$rootdir))) {
        $pad = $_POST['path'];
    }
else {
        echo "het pad ".$_POST['path']." is ongeldig!<br />";
    }


// als de variabelen zijn gezet, openen we het bestand
if (($pad) AND ($bestandsnaam)) {
    $file = $pad.$bestandsnaam;


    if (file_exists($file)) {
        header('Content-Type: application/pdf');
        ob_clean();
        flush();
        readfile($file);
        exit;
    }
}

?>


Heeft iemand een idee hoe ik dit kan oplossen?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.