[PHP] Temporary files verwijderen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heb een script gemaakt waarmee ik dynamisch zelf gemaakte table borders kan genereren afhankelijk van de resolutie van de bezoeker. Het werkt als volgt: Ik heb een tableborder gemaakt in Photoshop, deze verdeel ik in 8 segmenten (4 hoeken en vier tussenstukken) en bewaar ze in mijn normale img folder op mijn site. Wanneer iemand met resolutie 1600x1200 bezoekt, krijgt hij deze images te zien. Wanneer iemand een afwijkende resolutie heeft maakt het script mbv gd aangepaste kopieen van deze plaatjes in een temporary folder met een random filenaam. Dit werkt precies zoals ik het bedoelde maar ik loop nu tegen het probleem aan dat ik de images wil verwijderen nadat de page is gedisplayed. Ik heb een functie die dit doet alleen.....wanneer ik dat doe aan het eind van mijn script zijn de plaatjes natuurlijk al verdwenen voordat de browser ze heeft gedisplayed ergo, geen table borders.

Hoe zouden jullie dit aanpakken? Ik host dit niet zelf en heb geen toegang tot crontab. Is er een manier om een php script aan te roepen nadat de pagina is gedisplayed?

Acties:
  • 0 Henk 'm!

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 18-09 16:24

mulder

ik spuug op het trottoir

waar pas je niet de link naar plaatjes aan, ipv elke keer de plaatjes te kopieeren?

oogjes open, snaveltjes dicht


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Omdat het hele kleine plaatjes zijn en ik op deze manier mijn borders alleen hoef te maken voor de hoogste resolutie. Scheelt een hoop werk en ik ben van nature lui aangelegd :) Maar je hebt een punt, ik heb erover gedacht om het script aan te passen zodat het één keer alle graphics genereert om daarna de site zelf naar deze images te laten linken.

Acties:
  • 0 Henk 'm!

  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 01-09 10:26
Verwijderd schreef op 03 maart 2004 @ 10:45:
Maar je hebt een punt, ik heb erover gedacht om het script aan te passen zodat het één keer alle graphics genereert om daarna de site zelf naar deze images te laten linken.
Dat lijkt me inderdaad een betere oplossing .. anders moet voor elke bezoeker een set images gerenderd worden. Misschien is het een idee om sowieso dat script uit te voeren, en een check inbouwt die kijkt of de images voor een bepaalde resolutie al bestaan, zo niet -> render images voor nieuwe resolutie. (zo beperk je de wijzigingen in je script misschien?)

[ Voor 3% gewijzigd door PhoeniX- op 03-03-2004 10:52 ]


Acties:
  • 0 Henk 'm!

  • damouzer
  • Registratie: Oktober 2000
  • Laatst online: 19-09 11:53
Dit is wel de meest lastige vorm van tabel borders aanbrengen volgens mij.

Waar de borders moeten komen (dus de tussen stukken). Plaats deze eenmaal vast in de cell. en voeg hem in dezelfde cell toe via background-image). Als de tabel langer wordt, dan blijft de ruimte opgevuld met het plaatje.

EDIT:

Voorbeeldje:

http://www.xs4all.nl/~dino1337/

Als de pagina geladen is en je doet, CTRL + A. Alles wat blauw wordt, dat is het plaatje (border). Alles wat niet van kleur verandert is het plaatje dat weergegeven wordt door de background in die cell.

[ Voor 33% gewijzigd door damouzer op 03-03-2004 11:03 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
dinokiller schreef op 03 maart 2004 @ 11:00:
Dit is wel de meest lastige vorm van tabel borders aanbrengen volgens mij.

Waar de borders moeten komen (dus de tussen stukken). Plaats deze eenmaal vast in de cell. en voeg hem in dezelfde cell toe via background-image). Als de tabel langer wordt, dan blijft de ruimte opgevuld met het plaatje.
Het script genereert zowel de style voor alle afzonderlijke cellen met inderdaad background-repeat voor de tussenstukken en bouwt de tabel zelf op inclusief de content. Op die manier kan ik eenvoudig een tabel bouwen door MakeTable($BorderImageSequence, $Content); aan te roepen.

Ik neig ernaar inderdaad de graphics één keer te laten genereren voor een bepaalde resolutie, daarna te checken of ze al bestaan en daarheen te linken. Andere optie zou zijn voor het maken van een nieuwe tabel, alle tempfiles te checken op timestamp en alles ouder dan een uur te verwijderen.

Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
2 oplossingen:

Tabel bijhouden met filename,resolutie,aantal x opgevraagd. Weinig gebruikte reso's kun je dan verwijderen.

Andere oplossing is voor elke visitor renderen, zoals je nu al doet, maar dan met een image.php?plaatje=800x600, zoals dat ook gaat met sommige forum avatars (vBulletin dacht ik).

Acties:
  • 0 Henk 'm!

  • Evilbee
  • Registratie: November 2002
  • Laatst online: 14:59
Ik weet niet hoe jou randen er uit zien, maar ik had dit ooit eens opgelost door een plaatje van 1pixel breed te maken en die dan een bepaalde breedte geven.

Later heb ik mijn website maar omgebouwd naar statische waardes, dat vond ik toch makkelijker ;)

LinkedIn - Collega worden?


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Evilbee schreef op 03 maart 2004 @ 16:00:
Ik weet niet hoe jou randen er uit zien, maar ik had dit ooit eens opgelost door een plaatje van 1pixel breed te maken en die dan een bepaalde breedte geven.

Later heb ik mijn website maar omgebouwd naar statische waardes, dat vond ik toch makkelijker ;)
Mijn randen zien er uitstekend uit zonder veel moeite. Ik teken ze in PS en snijd ze daarna in 8 stukken waarbij ik niet hoef te letten op de dimensies, ongeveer het midden is goed want het script lost het zelf op.

Statische waardes is inderdaad makkelijker maar ik ben dit aan het schrijven voor een demo site die volgende maand opgeleverd moet worden, als ie wordt goedgekeurd mogen mijn collega en ik tien sites gaan maken voor soortgelijke bedrijven die dezelfde functionaliteit moeten hebben maar zich wel moeten onderscheiden in layout/graphics. Aangezien we maar met zijn tweeen zijn en die tien sites voor de zomer moeten draaien hebben we besloten om de demo site zo op te bouwen dat we ons volledig kunnen concentreren op de layout van de andere tien :)

Maar ik ben het met je eens, voor een eenmalige site zou ik niet zoveel moeite doen.

Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Zou je dit script wil publiceren onder GPL of een andere licentie?

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Ik wil niet bot overkomen, maar als je met GD gaat proberen dit soort dingen op te lossen is toch een gebrek aan html/css kennis... Het is absoluut onnodig namelijk..
Pagina: 1