include PDF file?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Trainee pega developer

Wil jij een mooie stap maken in jouw carrière? Mooi! Bij De Mandemakers Groep haal je binnen 6 maanden je CSA- en CSSA-certificaten, waarna jij aan de slag kan als Pega-developer in ons IT-team. Achter de schermen zorg jij ervoor dat collega’s efficiënt werken en klanten iedere dag beter geholpen worden. Wil jij daaraan bijdragen? En jouw ICT-skills ontwikkelen? Lees dan snel verder en solliciteer vandaag nog als trainee Pega-developer. Wat ga je doen? Als trainee Pega developer leiden wij je op tot gecertificeerd software developer voor het low-code platform PegaSystems. In de training ben je verantwoordelijk voor een te

Bekijk vacature »

Ervaren PHP Developer

Functie omschrijving Jelling IT zoekt ervaren PHP developer! Voor een organisatie in de regio Rhenen zijn wij op zoek naar een ervaren PHP developer die gaat functioneren als een verlengstuk van de klant. Jij bent iemand die technisch complexe zaken met enthousiasme aanvliegt. Je bent in staat om aan meerdere projecten te werken en werkt graag met de nieuwste technieken. In deze functie werk je veel samen met front-end developers en stel je alles in het werk om grote verschillen voor de klanten teweeg te brengen. Verder ben jij iemand die graag zichzelf uitdaagt en die altijd de beste wilt

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Software Developer C# .NET gezocht voor een dynamische organisatie! Ben jij net afgestudeerd of toe aan een volgende stap in je maatschappelijke carrière? Lees dan snel verder! Wij zijn op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die een organisatie in de regio Houten wil versterken. Je werkt in deze functie aan verschillende projecten en gaat vaak op bezoek bij klanten. In deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid verwachten. Bedrijfsprofiel Waar kom je te werken? Je komt te werken bij een organisatie dat gespecialiseerd is in

Bekijk vacature »

Full stack developer Node.js, React Remote

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »

Java Developer bij een jonge groeiende organisatie

Bedrijfsomschrijving Vind jij het als Java developer ook zo belangrijk dat een bedrijf je de ruimte en tijd geeft voor persoonlijke ontwikkeling? Dan zit je hier helemaal goed. Deze jonge organisatie is opgericht in 2018 en is ondertussen uitgegroeid tot een club van ongeveer 30 medewerkers. Het gaat hier om een echte Java club, die vrijheid en verantwoordelijkheid erg belangrijk vinden. Het bedrijf heeft een informele sfeer en de teams zijn erg hecht met elkaar. Ze delen graag de kennis en ervaringen met anderen, maar vinden andermans mening ook zeer belangrijk. De organisatie zet zich in voor ontwikkeling en besteed

Bekijk vacature »

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Medior .NET Ontwikkelaar

In het kort Als .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan we deze uitdaging graag met

Bekijk vacature »

.NET Developer

Functie omschrijving Ben jij een senior .NET developer en heb jij tevens ervaring als teamlead? Ben jij iemand met een helikopterview en denk jij graag mee met de klanten? Dan zijn wij op zoek naar jou! Voor een geweldig bedrijf zijn wij namelijk op zoek naar een ervaren .NET developer. Het bedrijf houdt zich bezig met het ontwerpen en bouwen van websites, portalen en applicaties voor met name zorg- en onderwijsinstellingen en overheidsinstanties. Jouw taken: Het fungeren als Lead Developer; Het meedenken met de business (dit vergt commercieel inzicht); Het begeleiden van diverse projecten (van klein tot groot); Het ontwerpen

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

.NET Developer

Dit ga je doen Programmeren in .NET, Javascript & C# en ontwikkelen in Web Services, Windows Services en MS SQL Server; Zelfstandig verbanden maken Analyseren, testen, bugs fixen, reviewen en rapporteren; Juiste prioriteiten stellen en verantwoordelijkheid nemen; Op architectuur niveau meedenken; Af en toe klanten bezoeken. Hier ga je werken Voor onze relatie zijn wij opzoek naar een .NET ontwikkelaar met minimaal 3 jaar werkervaring. Je komt te werken in een groeiend bedrijf met betrokken collega's die zorgen voor een familiaire sfeer op de werkvloer. Als .NET ontwikkelaar word jij vanaf de eerste werkdag betrokken bij het gehele ontwikkelproces. De

Bekijk vacature »

Back end developer Python, PHP

Functie Jij als full stack ontwikkelaar zult komen te werken samen met 1 PHP ontwikkelaar een PO en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult voornamelijk (lees 75%) werken aan de roostersoftware. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere flexwerkers ingezet kan worden. Verder willen ze financiële koppelingen gaan maken

Bekijk vacature »

JAVA Programmeur

Bedrijfsomschrijving Functieomschrijving We zoeken per direct enthousiaste software engineers die ons team komen versterken.We werken in DevOps teams met een sterk gevoel voor verantwoordelijkheid. Er wordt nauw samengewerkt met ons Business analyse team (BAT), met onze uitvoerende medewerkers en met de DevOps teams onderling binnen het domein. Het liefst hebben we veel en vaak interactie met onze interne en externe eindgebruikers om zo de juiste dingen te maken. We werken multidisciplinair in een dynamische omgeving. Achtergrond opdracht De Businesseenheid Examens is verantwoordelijk voor de logistiek van de staatsexamens Voortgezet (speciaal) onderwijs, Nederlands als 2e taal en schoolexamens. In het kader

Bekijk vacature »

Full Stack Developer

Ben jij een kei van een full-stack developer? Heb je ambitie om te groeien en jezelf te ontwikkelen binnen een ambitieus bedrijf? Gaat jouw hart sneller kloppen van transpilers of frameworks zoals Angular, Vue of React? Dan ben jij de persoon die wij zoeken! Voor onze opdrachtgever zijn wij op zoek naar een full-stack developer om onderdeel te zijn van een team dat bestaat uit gedreven developers. Ieders met hun eigen specialiteiten en kennis van de projecten en behoeften vanuit de product owners. We zoeken iemand die met zijn/haar huidige competenties en domeinen dit team wil begeleiden, stimuleren en tevens

Bekijk vacature »

Back-end Software Developer

Functie omschrijving Ben jij op zoek naar een uitdagende development functie bij een klein gespecialiseerd softwarebedrijf? Wil jij graag hybride werken (combi tussen thuis + kantoor), loop jij warm voor maatwerk software en voel jij je prettig in een informele cultuur? Zoek dan niet verder! Reageer direct! Voor een gewilde werkgever in omgeving Tilburg zoeken wij een back-end software developer met een aantal jaar werkervaring. Je gaat werken voor een klein softwarebedrijf dat gespecialiseerd is in de ontwikkeling van integratiesoftware. Jouw werkzaamheden zien er als volgt uit: In een klein team met 4 ontwikkelaars houd jij je bezig met afwisselende

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

21/11/2024 22:19:54
 
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.