Toon posts:

file uploader doc(x) php

Pagina: 1
Acties:
  • 217 views

  • HenkD
  • Registratie: maart 2010
  • Laatst online: 06-01-2011
hi
ik wil graag met een php formulier pdf , doc en docx bestanden up kunnen loaden. ook enkel die bestanden. zo'n script heb ik nu gemaakt. maar hoe check ik of een bestand dat een de file uploader zit een doc of docx is?
pdf is al gelukt:
if ($_FILES['xx']['type'] != "application/pdf" // werk
maar $_FILES['xx']['type'] != "application/msword" werkt niet. want daarmee kan ik niet doc(x) bestanden uploaden..

edit;
of weet iemand een manier waarmee ik een met de phpmailer class van worx gelijk een bestand kan meegeven als bijlage. zonder deze eerst te hoeven uploaden op de server? dat zou wel zo handig zijn..

<input type="file" name="pdfofdoc" />

[Voor 23% gewijzigd door HenkD op 26-09-2010 23:58]


  • Avalaxy
  • Registratie: juni 2006
  • Laatst online: 16-09 23:39
Waar jij naar zoekt heet een MIME type. Welke je nodig hebt voor je uploadscript kun je met google vinden :)

  • frickY
  • Registratie: juli 2001
  • Laatst online: 22:59
Het 'type' attribuut dat je uit de $_FILES array leest wordt gegeven door de browser van je bezoeker .Kwaadwillenden kunnen deze aanpassen, en dus is die niet 100% betrouwbaar. Je kunt hem wel gebruiken voor een initiële controle.
Bij Word-documenten zal deze iets als application/ms-word bevatten, maar dat kun je eenvoudig testen door zelf een dergelijk bestand te uploaden en te kijken wat er in die variabele zit. Juist omdat dit mime-type door de browser wordt gevuld is het een en ander wel afhankelijk van welk Office-pakket je hebt geïnstalleerd.
Als je zelf geen Office hebt en je computer dus deze Word-documenten niet kan openen, zal de browser bij het uploaden ook iets als application/unknown geven.

Een 2de optie in om naar de bestandsextensie te kijken. Dat kan met bijvoorbeeld pathinfo($_FILES['xx']['name'], PATHINFO_EXTENSION);

Tot slot kun je ook nog naar de daadwerkelijke inhoud van het bestand kijken om te bepalen wat dit is, bijvoorbeeld met finfo_file(). Lastige daarmee is wel weer dat een docx eigenlijk een zip-bestand is met daarin verschillende Office-gerelateerde bestanden, waardoor zeker de oudere libraries deze zullen herkennen als gecomprimeerd archief in plaats van Office-document.

  • HenkD
  • Registratie: maart 2010
  • Laatst online: 06-01-2011
dankje fricky

en zie ook mn edit van de SP

  • RobIII
  • Registratie: december 2001
  • Laatst online: 00:35

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Waar hoort mijn topic?
WEB >> PRG

Verder zou ik het op prijs stellen als je onze Quickstart, waar ik je eerder reeds op wees, eens hanteert als je een topic opent. Ik zie totaal geen eigen inzet terug in dit topic en verder zou het ook handig zijn als je even debugged (Debuggen: Hoe doe ik dat?) voordat je een topic opent. Dan had je die vraag met "welke string moet er in $_FILES['xx']['type'] zitten voor een docx" prima zelf kunnen beantwoorden.
HenkD schreef op zondag 26 september 2010 @ 23:52:
of weet iemand een manier waarmee ik een met de phpmailer class van worx gelijk een bestand kan meegeven als bijlage. zonder deze eerst te hoeven uploaden op de server? dat zou wel zo handig zijn..
Dit valt daar ook onder; waarom pak je nou niet héél even de documentatie erbij? En ziedaar: AddAttachment.

Ik ga dit topic op slot zetten met het vriendelijke verzoek voortaan meer zelf je best te doen voordat je een topic opent.
frickY schreef op zondag 26 september 2010 @ 23:57:
Een 2de optie in om naar de bestandsextensie te kijken. Dat kan met bijvoorbeeld pathinfo($_FILES['xx']['name'], PATHINFO_EXTENSION);
Je vergeet te vermelden dat optie 2 net zo onveilig (en waarschijnlijk nog onveiliger, want iedere kneus kan een extensie aanpassen van een bestand) is als optie 1 ;)

[Voor 50% gewijzigd door RobIII op 27-09-2010 01:16]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


Dit topic is gesloten.



Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True

Tweakers maakt gebruik van cookies

Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Forum cookie-instellingen

Bekijk de onderstaande instellingen en maak je keuze. Meer informatie vind je in ons cookiebeleid.

Functionele en analytische cookies

Deze cookies helpen de website zijn functies uit te voeren en zijn verplicht. Meer details

janee

    Cookies van derden

    Deze cookies kunnen geplaatst worden door derde partijen via ingesloten content en om de gebruikerservaring van de website te verbeteren. Meer details

    janee