[GD] iedere keer dezelfde foto opnieuw laden?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full-stack developer

Als Full-stack developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Samen met je SCRUM team werk je aan zowel de front- als de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en echt het verschil te kunnen maken. Ons ontwikkelteam bestaat uit ruim 40 ontwikkelaars, testers, scrum

Bekijk vacature »

Software Ontwikkelaar

Functie omschrijving Voor een echt familiebedrijf in de omgeving van 's-Hertogenbosch ben ik op zoek naar een Software Developer. 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 Deze organisatie is

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 »

Belastingdienst - Freelance Applicatieontwikkelaar

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Hybride. Kantoordagen in Utrecht, incidenteel in Apeldoorn Functieomschrijving: De afdeling IV – Generieke Voorzieningen – Interactie Online is onderdeel van de keten Interactie. De missie van de keten is: “het faciliteren van de interactie met alle burgers, bedrijven en hun vertegenwoordigers om hen in staat te stellen aan hun fiscale verplichtingen te voldoen en aanspraak te maken op hun rechten.” De afdeling Interactie Online heeft een belangrijke bijdrage binnen deze keten. Dit door het ontwikkelen

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. Je gaat als Full stack developer aan de slag en gaat

Bekijk vacature »

.NET developer

Functie Jij begint als .NET ontwikkelaar in een team met 10 andere Software Engineers. De werkzaamheden zijn afwisselend, zo kan het dat jij bezig bent met volledig nieuwe features of het door ontwikkelen van bestaande sites of shops. Wij ontwikkelen web applicaties, maar ook mobiele applicaties. Daarnaast bijt jij je soms ook van in externe koppelingen met systemen zoals een ERP. Als team is er een duidelijke focus m.b.t. het waarborgen van de performance en snelheid van webshops. Ook zijn wij expert op het gebied van configuratoren. Kortom enorm veel afwisselende werkzaamheden! Ook jouw werkplek kan afwisselend zijn. Soms heb

Bekijk vacature »

Full stack developer Python, React

Functie Jij als full stack developer komt binnen onze Technology afdeling te werken. Deze bestaat momenteel uit 15 man. De stack waarmee wij werken is voornamelijk Python, Javascript, React en GraphQL. Binnen deze afdeling wordt er met multidisciplinaire teams gewerkt aan verschillende projecten. Projecten duren vaak langer dan 3 maanden en je bent van begin tot eind vaak betrokken. Naast dat je als full stack ontwikkelaar aan de slag gaat ben je ook Consultant. Dit betekent dat je ook klantcontact hebt in je rol en werkshops geeft. De verhouding tussen deze werkzaamheden zijn ongeveer 70% development en 30% consultancy. Een

Bekijk vacature »

Medior C# Developer

Samen met het development team zorg je ervoor dat alle systemen achter de schermen vlekkeloos werken. Wat doe je als Medior C# Developer bij Coolblue? Als C# developer doe je regelmatig mee aan brainstormsessies over user experience, data en task flow met de UX Designer, Product Owner en Data Scientist in je team. Daarnaast schrijf je op zichzelf staande, consistente en testbare code die goed onderhoudbaar en toekomstbestendig is. Ook C# Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Werken met verschillende soorten data-opslag, zoals Oracle of AWS. Problemen oplossen

Bekijk vacature »

.NET software developer

Functie omschrijving Voor een gewilde werkgever in omgeving Roosendaal zijn wij op zoek naar een back-end software developer met een aantal jaar werkervaring. Je krijgt een plekje in het workflow team en je zal betrokken worden bij het bouwen van nieuwe software, en het optimaliseren van bestaande code. Je werkt bij dit bedrijf in een Scrum team waarin je soms klantcontact hebt. Jouw werkzaamheden zullen er als volgt uit zien: Je krijgt een plekje op de in-house IT afdeling. Deze afdeling bestaat uit zo'n 12 collega's, verdeeld over verschillende specialisaties (BI, Beheer, Business software & workflow). De vacature staat open

Bekijk vacature »

Oracle Apex developer

Bedrijfsomschrijving My client is a technology company based in Den Bosch, the Netherlands. They specialize in providing innovative software solutions to clients, and they are currently looking for an experienced Oracle Apex developer to join the IT team. Functieomschrijving As an Oracle Apex developer, you will be responsible for designing, developing, and maintaining web-based applications using Oracle Apex. You will work closely with project managers, business analysts, and other developers to ensure that clients' needs are met and that the software solutions are of the highest quality. Responsibilities: Design, develop, and maintain Oracle Apex applications. Work with project managers and

Bekijk vacature »

Database Developer

Functie omschrijving Voor een logistieke dienstverlener in omgeving Zuid Beijerland zijn wij op zoek naar versterking. Weet jij als geen ander systemen aan elkaar te koppelen en heb jij goede kennis van SQL en UML, lees dan snel verder! Jouw taken zien er als volgt uit: Je bent in deze rol voornamelijk verantwoordelijk voor het bouwen, implementeren en beheren van koppelingen tussen de bestaande systemen (zowel business 2 business als application 2 application). Daarnaast inventariseer je de wensen van in- en externe klanten, die je vervolgens samen met je collega's, vertaalt naar technische specificaties, die jullie zelf ontwikkelen en implementeren.

Bekijk vacature »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

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 »

Senior developer (PHP en VB.NET)

Functie De development afdeling bestaat uit 2 teams. Het productteam (10 developers) is verantwoordelijk voor verschillende applicaties met als doel om zoveel mogelijk te automatiseren en uit te werken tot standaard software. Met diverse Solutions Architecten en ervaren developers denken ze voortdurend mee met hun klanten en bouwen ze de basis van het uiteindelijke maatwerk dat wordt geleverd. Hiernaast hebben ze een maatwerk/projectteam. Dit team bestaat momenteel uit 8 developers (junior tot senior) en is verantwoordelijk voor het maatwerk in hun klantprojecten. Momenteel zijn ze op zoek naar een senior developer die aan de slag gaat in het productteam. Hierin

Bekijk vacature »

Medior/senior Fullstack 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 »
Php knipper

php knipper

25/03/2015 20:00:36
Quote Anchor link
Hallo, al weer even geleden.

Ik heb een php script gemaakt dat iedere foto nu een propere url heeft en dat deze altijd de juiste afmeting heeft. Wanneer deze nog niet bestaat zal hij deze maken en opslaan in de "case" map, het is dus niet iedere keer on the fly.

Volgens mijn inspector gegevens (chrome) worden de foto's iedere keer ingeladen, ik heb al eens gekeken naar de header's maar ik krijg het niet aan de praat.

deze code wordt uitgevoerd bij het kleiner maken van de foto:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
Header("Cache-Control: must-revalidate");
Header($exphead);
header('Content-Type: image/jpeg');
$afbeelding_origineel = imagecreatefromjpeg($pad.'/'.$bestand);
imagecopyresampled($afbeelding, $afbeelding_origineel, 0, 0, 0, 0, $width, $height, $width_org, $height_org);
imagejpeg($afbeelding);
imagejpeg($afbeelding, $pad.'/case/'.$afmetingen.'/'.$bestand, 80);
?>


en deze als de foto al in de case map zit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
header_remove("Cache-Control");
header_remove("Expires");
header_remove("Pragma");
header_remove("Transfer-Encoding");
Header("Cache-Control: must-revalidate");
Header($exphead);
header('Content-Type: '.$type);
echo file_get_contents($pad.'/case/'.$afmetingen.'/'.$bestand);
?>


Kan iemand eens kijken waar ik de mist in ga?

Mvg. knipper
Gewijzigd op 25/03/2015 20:02:22 door Php knipper
 
PHP hulp

PHP hulp

03/05/2024 12:35:17
 
Thomas van den Heuvel

Thomas van den Heuvel

26/03/2015 00:16:04
Quote Anchor link
Je moet $afbeelding waarschijnlijk aanmaken als imagecreatetruecolor()? Nu is $afbeelding nergens gedefinieerd.

Dit staat letterlijk in het voorbeeld van imagecopyresampled() op php.net.

Als je dit soort dingen wilt debuggen, laat dan Content-Type headers weg, dan zie je waarschijnlijk dit soort fouten wel op je scherm verschijnen.

Toevoeging op 26/03/2015 11:58:06:

EDIT: daarnaast ontbreken er gegevens in bovenstaande fragmenten. En is het probleem niet helemaal duidelijk. Wat gaat er niet goed?

Thumb wordt niet goed aangemaakt: zie bovenstaande hint (maar wss niet van toepassing omdat je niet alle relevante code hebt geplaatst)
Thumb wordt telkens opnieuw aangemaakt: de controle op het bestaan van het bestand is niet goed of niet volledig
 
Php knipper

php knipper

26/03/2015 14:00:18
Quote Anchor link
Hallo Thomas,

de afbeelding wordt gemaakt met imagecopyresampled(). In verband met de foto lukt alles, ik krijg een kleine versie en deze wordt opgeslagen in de case.

het probleem is dat ik ondanks de huidige headers nog steeds iedere keer opnieuw de foto's laad. De foto wordt dus niet opgeslagen in de case. Onderstaande zijn de headers van een foto:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
HTTP/1.1 200 OK
Date: Thu, 26 Mar 2015 12:59:16 GMT
Server: Apache
Cache-Control: must-revalidate
Expires: Sun, 29 Mar 2015 12:59:16 GMT
Content-Encoding: gzip
Vary: Accept-Encoding
Cache-Control: max-age=60, private, proxy-revalidate
Keep-Alive: timeout=10, max=489
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: 2
 
Thomas van den Heuvel

Thomas van den Heuvel

26/03/2015 14:20:32
Quote Anchor link
Quote:
De foto wordt dus niet opgeslagen in de case

Heb je dit echt geconstateerd? Het bestand ontbreekt?

Controleer je ook of alle deel-directories bestaan voordat je iets wegschrijft? (En zonee, maak je deze aan met de juiste rechten)?
Zijn de schrijfrechten van alle deel-directories (na afloop van creatie) goed?

Haal die Content-Type header nou eens (tijdelijk) weg :) en zet het tonen en rapporteren van foutmeldingen aan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
// zet dit bovenaan je script
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
?>


Als je geen thumbnails hebt gaat er iets fout bij het wegschrijven ervan lijkt mij...

EDIT:
Content-Type: 2 <-- wat is dit?!
Gewijzigd op 26/03/2015 14:21:17 door Thomas van den Heuvel
 
Php knipper

php knipper

26/03/2015 14:35:55
Quote Anchor link
@thomas

Alles werkt op de server, tussen mijn mappen staat ook een map "case" en daar komt de foto in terecht.
maar als ik de foto laad krijgt die altijd de status 200 (ok) en nooit 304 (niet bewerkt vanaf browsercase)

de foto komt altijd van de website en niet van het geheuge van de computer

die 2 staat voor jpg
 
Thomas van den Heuvel

Thomas van den Heuvel

26/03/2015 14:54:25
Quote Anchor link
Het probleem is dus dat de browser de afbeeldingen niet cached?

Maar dat stel je toch zelf in middels de headers die je meegeeft? Wat staat er in $exphead?

Plus, je serveert de afbeeldingen via een script. Als je nu zorgt dat die thumbs op enigerlei wijze eenmalig gegenereerd worden kun je vervolgens toch altijd rechtstreeks refereren aan (het bestand van) de afbeelding zelf? Hoeft geen script aan te pas te komen?

Tevens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Cache-Control: max-age=60, private, proxy-revalidate

Default van browser?
Gewijzigd op 26/03/2015 14:57:45 door Thomas van den Heuvel
 
Php knipper

php knipper

26/03/2015 15:13:10
Quote Anchor link
Ik geef die header nergens op, en krijg die ook niet weg

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$exphead
= "Expires: " . gmdate("D, d M Y H:i:s", time() + $levensduur) . " GMT";
?>


Ik gebruik een .htaccess regel die ervoor zorgt dat het een propere url is, er staat geen php in de url. ik gebruik het script zodat ik niet steeds moet uitzoeken of de foto al op meerdere grotes is gebracht.

Toevoeging op 26/03/2015 16:32:50:

het is me gelukt, ik heb bovenaan voor de session_start();
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
session_cache_limiter('public');
?>

gezet en al mijn header manipulaties weg gedaan

bedankt
Gewijzigd op 26/03/2015 15:25:13 door php knipper
 



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.