include PDF file?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-End Web Developer

Als Back-End Web Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als Back-End Web Developer bij Coolblue? Als Back-End Web Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Als backend developer weet je de weg in PHP, kan je in Typescript een microservice op zetten of ben je bereid om dit te leren. Ook Web Backend Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen PHP

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

.NET Developer

Dit ga je doen Tot jouw takenpakket behoort onder andere: Webapplicaties ontwerpen, bouwen, testen en implementeren in .NET/C#.; Ontwikkelen, implementeren en beheren van maatwerkapplicaties; Onderhouden en beheren van standaardpakketten; Onderzoeken en beoordelen van nieuwe technieken. Hier ga je werken Als .NET ontwikkelaar kom je te werken bij een grote semioverheidsinstelling in Nijmegen. De organisatie staat garant voor het leveren van onderwijs en les- en onderzoeksmateriaal voor duizenden betrokkenen. De organisatie wil bijdragen aan een gezonde, vrije wereld met gelijke kansen voor iedereen. Binnen de teams hangt een open en collegiale cultuur met veel aandacht voor een prettige en sociale werksfeer.

Bekijk vacature »

C#.NET Developer

Functieomschrijving We are looking for a dutch native speaker In deze uitdagende functie ga je werken als onderdeel van het development team, in de functie van C#.NET Developer, Je gaat maatwerk software bouwen voor diverse klanten. Ook optimaliseer je bestaande software en bouw je API koppelingen. Je bent vooral met back-end development bezig. Je krijgt veel vrijheid in deze functie en je krijgt de kans om mee te denken in bedrijfsprocessen. Deels thuiswerken is geen enkel probleem! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Junior PHP Developer

Functieomschrijving Junior PHP Developer gezocht! Voor een opdrachtgever in de regio Gelderland zijn wij op zoek naar een Junior PHP Developer die onderdeel gaat worden van het ontwikkelingsteam van deze organisatie. In deze functie ga jij aan de slag met het schrijven van software voor de aansturing van en het managen van windparken en bijbehorende onderdelen. Hiernaast ga jij je bezighouden met het ontwikkelen, testen en onderhouden van diverse webapplicaties. Het team waarin je komt te werken bestaat uit 3 developers, hierdoor krijg je veel verantwoordelijkheid en de kans om jezelf verder te ontwikkelen. Er wordt echter wel van je

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Senior PHP Developer

Als Senior PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn en coach je andere developers op de hard en soft skills. Wat doe je als Senior PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om

Bekijk vacature »

Software Developer

Functie omschrijving Psst hé jij daar! Op zoek naar een nieuwe uitdaging als developer? Wacht niet langer en reageer direct. In deze functie ga je bij een familiebedrijf werken als developer. Je gaat maatwerk software ontwikkelen met de Microsoft stack. Je gebruikt technieken als C#, ASP.NET en MVC. Je werkt in een leuk team van andere developers. Je krijgt veel vrijheid in je werk en kan flexibel werken. Dagje thuiswerken? Geen probleem! Daarnaast is er veel ruimte om écht mee te denken met het bedrijf en met de klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Vanaf

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden je MBO of HBO ICT in ontvangst mogen nemen? Of ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een uitdagende werkgever in de regio van Tilburg zijn wij op zoek naar een ambitieuze back-end programmeur met affiniteit met MS Acess. Samen met een enthousiast team ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL, Maar affiniteit met MS Acess is nog belangrijker. Je bent sociaal naar klanten en flexibel ingesteld. Je denkt altijd in kansen en gaat graag de uitdaging aan. Verder

Bekijk vacature »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

Bekijk vacature »

Fullstack JavaScript developer (ReactJS, NodeJS, T

Functie Het team bestaat momenteel uit ruim 15 collega’s, waarvan ruim de helft in het ontwikkelteam werkzaam is. Er zijn gave plannen om het platform ook te gaan toepassen op bijv. vliegvelden, maar ook internationale groei zit in het verschiet en daarom zijn ze op zoek naar versterking. Als Fullstack JavaScript developer werk je nauw samen met 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creeren 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

Bekijk vacature »

Social Media Specialist

Social Media Specialist locatie: Rotterdam (Zuid Holland) Wij zoeken op korte termijn een nieuwe collega, een social media specialist/ adviseur sociale media (24 uur), voor ons sprankelende team Communicatie van CJG Rijnmond. Onze focus ligt op het informeren en binden van onze in- en externe klanten en stakeholders en het versterken van onze naamsbekendheid en zichtbaarheid. Dat doen we in nauwe samenwerking met elkaar. Over de functie Ons team bestaat uit 7 communicatieprofessionals met ieder een eigen expertise. Als lid van het online team ben je verantwoordelijk voor het ontwikkelen, uitvoeren en analyseren van onze socialemediastrategie. Ook stel je campagnes

Bekijk vacature »

C# .NET Ontwikkelaar ASP.NET

Samengevat: Deze werkgever is een inkooporganisatie. Ben jij een ervaren .Net ontwikkelaar? Heb je ervaring met .Net en C#? Vaste baan: C# .NET Developer .Net MBO HBO €3.100 - €4.300 Onze missie is: “Een essentiële bijdrage leveren aan het verlagen van de integrale kostprijs van de aangesloten groothandels, middels het bundelen van inkoopvolume en het creëren van synergie met en tussen de groothandels en leveranciers, met scherpe inkoopprijzen, goede handelscondities en gerichte dienstverlening als resultaat” Zij werken voor MKB klanten. Deze werkgever heeft veel verschillende projecten. Houd jij van afwisseling? Dan zit je bij hun goed! De branche van dit

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

20/04/2024 09:41:28
 
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.