PHP salva il file sul computer dell'utente

Ho uno script che crea una vCard per i membri del personale quando si fa clic sul button "Aggiungi contatto". Ho questa vCard in una variabile, ma non sono sicuro di cosa farne dopo.

Considero che il mio primo passo dovrebbe essere quello di salvare questo file sul server?

Mi piacerebbe solo avere una window pop-up e consentire alle persone di scaricare e salvare la vCard, quindi se il passaggio non è necessario vorrei solo saltarlo.

Qualsiasi suggerimento qui sarebbe appagato.

Grazie.

Se vuoi che una window di dialogo Salva file venga visualizzata quando qualcuno richiede l'URL di esportzione, devi utilizzare

header("Content-type:text/vcard; charset=utf-8"); header("Content-Disposition: attachment; filename=vcardexport.vcf"); echo $vCardData; 

Quindi No, non devi prima salvarlo come file sul server. Puoi servirlo dalla variabile. Si noti che è ansible utilizzare questo approccio per qualsiasi altro dato purché si specifichi il tipo MIME corretto per Content-Type.

Vedi anche https://en.wikipedia.org/wiki/VCard e https://www.ietf.org/rfc/rfc2183.txt

Se hai la tua vcard in una variabile, puoi facilmente forzarla come download sul client con questo codice:

 <?php header('Content-type: text/vcard'); header('Content-disposition: attachment;filename=vcard.vcf'); echo $vcard_variable; ?> 

Prova a guardare l'intestazione content-disposition 🙂

Può forzare il download di un file sul client 🙂

Puoi solo emettere la vCard da PHP, impostando il tipo di contenuto appropriato con un'intestazione di risposta. Questo dovrebbe forzare un download sul browser dell'utente. L'ho cercato su google e ho trovato questo esempio .

Se hai il file sul server puoi semplicemente avere un link sul button che punta al file

 <a href="location of the vcard file"><img src="button.jpg"></a> 

o stai cercando un metodo di consegna diverso?