• Tidak ada hasil yang ditemukan

3.PHP . PHP

N/A
N/A
Protected

Academic year: 2021

Membagikan "3.PHP . PHP"

Copied!
12
0
0

Teks penuh

(1)

3.PHP E-MAIL

PHP Email - FORM SEND E-MAIL

PHP UPLOAD _ FORM UPLOAD

PROSES SIMPAN FILE YG DIUPLOAD

Pemrosesan Upload File Lebih Lanjut

PHP E-Mail

Salah satu cara untuk membantu seorang pengunjung suatu website agar dapat membantu mempublikasikan/menyebarkan informasi tentang keberadaan suatu web adalah dengan menyediakan fasilitas untuk membantu mengirimkan email kepada teman yang dikenalnya

supaya dapat

mengetahui website yang baru saja dikunjunginya cukup bagus untuk dikunjungi

,

sayang kalau

belum sempat melihat

.

►Email dengan interface web dan pengiriman otomatis tentang informasi suatu artikel atau situs

web dapat dibuat dengan mudah. PHP menyediakan fasilitas ini.

Untuk dapat melakukan pengiriman email dengan menggunakan PHP maka harus dipastikan terlebih dahulu bahwa anda mempunyai server yang berfungsi untuk mengirimkan email disebut dengan server SMTP (Simple Mail Transfer Protocol).

►To send email in a PHP script use the mail function.

Mail(string to, string subject, string message,[,string additional_headers

[,string additional_parameters]])

KETERANGAN

string to, =

Kepada : Alamat yang dituju.

string subject, :

Subject/Judul dari pesan yang akan ditampilkan/dimunculkan dalam E-mail

penerima

string message,

= Isi pesan, bila diclick subject/judul pesan, oleh penerima akan mincul ini

pesan

[,string additional_headers [,string additional_parameters]] :

Bersifat optional, bila ada data

lain, bias berupa file, dll

ATAU, Bisa ditulis

:

Mail(“kepada”,”subejk”,”isipesan”,”datalain”)

This sends an email to the email address in to, with subject subject

and message message

.

OR

You can also set additional mail headers

(2)

and parameters to mail :

$Result = mail(steve@ispname.com, “Web mail”, $_REQUEST[“message”]);

OR :

Can also Writted with attachments

$result = mail(“

steve@chooseanisp.com

”,“Web mail”,

$_REQUEST[“message”],$headers);

Message is retrieved from html form

Additional email headers like the following may be specified.

[,string additional_headers [,string additional_parameters]] =”DataLain” :

Bersifat optional, bila

ada data lain, bias berupa file, dll

$result = mail(“

steve@chooseanisp.com

”,“Web mail”,

$_REQUEST[“message”],DataLain);

Examp : cc (“carbon copy”)

bcc (“blind carbon copy”)

These are set with the additional_headers parameter.

$headers .= “cc:” .$_REQUEST[“cc”] . “\r\n”;

$headers .= “bcc:” .$_REQUEST[“bcc”] . “\r\n”;

$result = mail(“

steve@chooseanisp.com

”,“Web mail”,

$_REQUEST[“message”],$headers);

Kirim Email dengan

SMPT *nix

Pada lingkungan *nix maka server SMTP menggunakan software sendmail. Software yang akan digunakan ini telah didefinisikan pada php

Mail(string to, string subject, string message,[,string additional_headers

[,string additional_parameters]])

OR :

Can also Writted with attachments

Mail(“kepada”,”subejk”,”isipesan”,”datalain”)

Contoh :

ini_set(“SMTP”, “172.16.1.1”);

ini_set(“sendmail_form”, “$dari”);

mail(“$kepada”,”$subjek”,”$pesan”);

Contoh ini menunjukkan kemampuan dari PHP untuk menggunakan suatu server SMTP yang didefinisikan untuk mengirimkan email dari komputer server web kita dengan menggunakan PHP.

(3)

Jika anda menggunakan *nix sebagai sistem operasi dan server webnya maka

init_set() tidak harus dituliskan, karena defaultnya sudah mengacu kepada dirinya sendiri, dengan asumsi bahwa dirinya (server) sudah mempunyai SMTP server berupa sendmail.

Contoh ini dapat dikembangkan lebih lanjut dengan digabungkan dengan form untuk isian email dari browser web.

Kirim Email dengan SMTP Windows NT/2000

Khusus untuk digunakan pada server web MS IIS pada Windows NT/2000 yang telah dipasang server SMTP-nya.

Ini menggunakan cara yang ‘tricky – akal-akalan’, karena SMTP pada Windows NT atau Windows 2000 server tidak dapat diakses langsung seperti halnya SMTP pada lingkungan *nix.

Setiap email yg akan dikirim oleh Windows NT Server atau W2000 Server akan disimpan dg nama message.eml di direktori c:\inetput\mailroot\pickup

Directoyr ini adalah direktori default hasil instalasi.

Definisi direktori ini mungkin berbeda dg definisi yg ada pada server SMTP anda, tetapi ini adalah direktori default hasil instalasi, apabila tidak ada perubahan yang dilakukan oleh administrasi sistem anda.

Ini dapat dikembangkan dengan dikombinasikan form isian agar tujuan dan isi komentarnya juga dapat berubah-ubah seusai dengan kebutuhan,

Contoh :

Perhatikan script PHP dibawah ini yg bernama : mail_01.php hanya menun jukan kemampuan mengirimkan email dari PHP dengan menggunakan server SMTP pada Windows NT4 Server dan Windows 2000 Server.

Nama script : mail01.php

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”> <html>

<head>

<title>Demo Send Email - #2</title> </head>

<body>

<h1>Demo Send Email</h1>

Menggunakan SMTP pada Windows NT4/2000 Server <br>

Langsung menulis pada direktori pengiriman filenya <hr>

<?

$file = fopen(“c:\inetput\mailroot\pickup\message.eml”, “w”); fwrite( $file, “To:betha@hotmail.com\r\n”);

(4)

fwrite( $file, “Subject: Email testing ...\r\n”); fwrite( $file, “\r\n”);

fwrite( $file, “Here is the message\r\n”); fwrite( $file, “\r\n”);

fclose( $file ); ?>

</html> <body>

Dan lihat hasilnya dibawah ini, sbb :

Gbr. Tampilan output dari Mail01.php

Ket :

Pada mail_01.php diatas perintah ganti baris diberikan dengan karakter escape \r dan \n, hal ini disebabkan karena tanda ganti baris pada Windows atau DOS adalah dengan CR (carriage return – chr(13)) dan LF (Line Feed – chr(10)), sedangkan pada *nix standarnya hanya menggunakan \n saja. Jika menggunakan \n saja pada saat menuliskan ke dalam file message.eml selalu dianggap sebagai badmail.

FORM SEND E-MAIL

CONTOH : Kirim Email dengan Form Web

Menggabungkan form isian dengan dokumen dan PHP untuk mengirimkan masukan dari form isian dengan menggunakan mail().

Nama script : form_email.html

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”> <html>

<head> <title>Demo Form untuk Send Email</title></head> <body>

(5)

<h1>Demo Form untuk Send Email</h1> <hr>

<form action=”send_email.php” method=”get”> <table>

<tr> <td>Kepada</td> <td>:</td>

<td><input type=”text” name=”kepada” Size=”30”></td> </tr>

<tr> <td>Subjek</td> <td>:</td>

<td><input type=”text” name=”subjek” Size=”50”></td> </tr>

<tr> <td>Pesan</td> <td>:</td>

<td><textarea name=”pesan” rows=”5” Size=”45”></td> </tr>

<tr> <td>Dari</td> <td>:</td>

<td><input type=”text” name=”dari” Size=”30”></td><textarea></td> </tr>

<tr> <td>&nbsp:</td> <td></td>

<td> <input type=”submit” value=”Kirim”> <input type=”reset” value=”Ulangi”> <td>

</tr> </table>

</form></body></html>

Dan hasilnya sbb :

(6)

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN”>

<html> <head>

<title>Demo Send Email</title> </head>

<body>

<h1>Demo Send Email</h1> <hr>

Kepada : <?ehco $kepada;?> <br>

Subjek : <?echo $subjek;?> <br>

Pesan : <?echo $pesan;?> <br>

Dari : <?echo $dari;?> <br> <? ini_set(“SMTP”, “172.16.1.1”); ini_set(“sendmail_form”, “$dari”); mail(“$kepada”,”$subjek”,”$pesan”); ?> Telah dilakukan! </body> </html>

(7)

PHP UPLOAD

Updload adalah proses menyalin file dari komputer lokal (tempat kita kerja) ke dalam server, umumnya ke dalam server file. Server file umumnya menggunakan software server FTP.

Trend masa kini adalah bagaimana memanjakan pemakai untuk dapat dengan mudah melakukan proses upload dari komputer kerjanya ke dalam server file. Kemudahan pemakaian komputer mengalami revolusi dengan adanya web, semua aplikasi dan fungsi telah berusaha dipindahkan pada platform web ini. Upload file merupakan salah satu fasilitas yang digunakan untuk memudahkan pemakaian melakukan pengiriman file dari komputer lokal ke dalam server, tanpa harus pemakai mengetahui bagaimana seharusnya dilakukan secara manual. Kini cukup, tunjuk dan klik, cari file dari drive dan direktori lokal, kemudian kirim ke dalam server,

cukup dengan perintah klik tombol kirim (submit) yang

disediakan.

Fasilitas upload dengan menggunakan browser juga dimaksudkan untuk memudahkan proses administrasi dan meningkatkan keamanan sistem.

Pengelola server tidak harus membuat user id dan password untuk setiap pemakai yang akan diberi hak untuk dapat mengakses dan menaruh file ke dalam server file secara langsung dengan menggunakan program FTP atau yang sejenisnya.

Elemen-elemen yang dibutuhkan untuk dapat melakukan upload file via browser maka harus disiapkan :

Sebuah form untuk menyajikan tampilan agar pemakai memilih file yang akan diupload

File yang akan diupload (dan tentu saja browser yang mendukung fungsi upload)

Tempat dalam server yang digunakan untuk menyimpan file yang akan diupload

Script untuk menempatkan file ke tempat yang telah ditentukan di dalam server

PHP mampu menerima file yang diupload/dikirim dari browser yang komplian

(merujuk standarnya) kepada RFC-1867, seperti Internet Explorer 3.0 yang dispatch atau yang lebih baru versinya dan Netscape Navigator 3.0 atau yang lebih

baru.

Feature ini memungkinkan orang untuk mengupload file teks atau biner. Dengan

menggunakan fungsi otentikasi dan manipulasi file PHP, kita dapat mengatur

siapa saja yang diijinkan untuk melakukan upload dan manipulasi apa saja yang dapat dilakukan oleh setiap orang yang diijinkan.

(8)

PHP juga mendukung method PUT untuk upload file yang dilakukan oleh

Netscape Computer (editor HTML Netscape) dan software Amaya dari W3C.

FORM UPLOAD

Pada tag form harus ada atribut “enctype=multipart\form-data” yang digunakan

untuk memberitahu browser dan server bahwa yang dikirimkan bukan hanya

data nama file yang dientrikan pada tampilan browser tetapi juga data berupa isi dari nama file yang diacu pada isian form.

CONTOH :

Lihat script PHP dibawah ini yaitu : script form untuk upload, dgn nama script adalah form_upload.php, harus ada tipe input adalah “file”, dengan adanya form input ini maka tombol browser akan otomatis muncul.

Tombol browse ini disediakan untuk memudahkan pemakai melakukan browse/interface kepada window explorer untuk memilih file yang akan diupload.

Nama script formt_upload.php

<html> <head>

<title>Form untuk Input Nama File</title> </head>

<body>

<h1>Input Nama File untuk Upload</h1> <br> Klik tombol Browse untuk memilih!

<form enctype=”multipart/form-data” method=”post” action=”do_upload.php”>

<input type=”hidden” name=”MAX_FILE_SIZE” Value=”10000”>

Nama File : <input type=”file” name=”file1” size=”30”> <br>

<input type=”submit” value=”Upload> </form>

</body> </html>

Ket :

Pada script PHP diatas, Sebuah variabel dengan nama MAX_FILE_SIZE dengan tipe hidden harus disediakan, isi atribut Value pada variabel MX_FILE_SIZE

digunakan untuk mengendalikan besar file maksimum yg akan diupload ke dlm server.

MAX_FILE_SIZE harus diletakkan sebelum elemen input dengan tupe=”file”.

(9)

Dan hasilnya sbb :

Tampilan form_upload.php

PROSES SIMPAN FILE YG DIUPLOAD

Data yang dikirim oleh form upload berupa data nama file dan data file yang namanya disimpan dalam text dengan nama file1. Data file akan disimpan

dalam direktori server web, kemudian dengan perintah copy PHP memindahkan ke dalam file yang didefinisikan.

Contoh

:

Setiap file yang diupload akan dinamai (rename) dengan nama hasil upload.txt

dan disimpan dalam direktori “files” yang ada dibawah direktori script PHP

kita berada.

Nama script : do_upload.php <html>

<head> <title></title> </head> <body>

<h1>Simpan file yang diupload!</h1> <!-- <p>Nama File : <?echo $file1;?></p> --> <br>

<?

if ($file1!=”none”){

copy(“$file1”,”hasilupload.txt”) or die (“No files!”) ; } else {

die (“Tidak ada file yang akan diupload!”) ; } ?>

</body> </html>

(10)

Dan hasilnya :

Tampilan : do_upload.php

Ket :

Sebelumnya pastikan bahwa ada file yang akan diupload seperti contoh berikut.

Isi dari nama file dapat diganti dengan yang anda inginkan :

Sebelum mencoba, maka pastikan terlebih dahulu bahwa direktori yang akan digunakan untuk menyimpan file sudah didefinisikan bahwa direktori tersebut ditulis oleh server web dengan user anonymous.

File yang diupload selalu disimpan dengan nama hasil upload.txt dalam direktori files di bawah direktori dari script PHP kita berada.

(11)

Pemrosesan Upload File Lebih Lanjut

Jika kita melakukan pemrosesan pada file yang diupload dengan menggunakan PHP, maka akan ada bbrp variabel yg dibuat/didefinisikan sendiri oleh PHP, jika proses upload berhasil, yaitu :

 $varfile  nama file temporer dari file yang diupload dan telah disimpan dalam server

 $varfile_name  nama file asli (original) atau path dari file pada sistem pengirim

 $varfile_size  ukuran file yang diupload dalam byte

 $varfile_type  tipe mime file jika diberikan oleh browser informasinya. Sebagai contoh adalah “image/gif”.

$varfile adlh nama dari input dg type=”file” pd form untuk upload file.

Variabel-variabel tersebut akan tersedia apabila option register_globals bernilai on, option ini terletak pada file php3. Jika option track_vars bernilai on, maka variabel-variabel tersebut juga akan tersedia pada array global

$HTTP_POST_VARS.

Pada PHP4 informasi untuk pemrosesan lebih lanjut file yang diupload sangat berbeda, ada array yang baru yaitu $HTTP_POST_FILES yang disediakan

untuk informasi file yang diupload. Tetapi hanya tersedia jika track_vars bernilai on.

Isi dari $HTTP_POST_FILES adalah sebagai berikut (asumsi bahwa file yang diupload informasi awalnya pada browser disimpan pada „varfile‟):

$HTTP_POST_FILES[„varfile‟][„name‟] Nama file asal pada mesin klien

$HTTP_POST_FILES[„varfile‟][„size‟] Ukuran file yang diupload dalam byte $HTTP_POST_FILES[„varfile‟][„tmp_name‟]

Nama file temporer dari file yang diupload yg disimpan dlm server

Ket :

File yang diupload akan disimpan sementara pada direktori temporer dalam server.

File akan diberi nama temporer secara acak oleh server. Server mempunyai sebuah direktori temporer untuk menyimpan file yang diupload.

(12)

Nama direktori ini disimpan dalam variabel direktif upload_tmp_dir dalam php.

Default direktori server dapat diubah dengan menggunakan variabel environment TMPDTR tempat PHP dijalankan.

Fungsi putenv() PHP tidak dapat digunakan untuk mengubah. Variabel environment ini dapat juga digunakan untuk meyakinkan bahwa operasi lain dapat digunakan pada file yang diupload dengan baik.

Contoh :

Script upload yang pertama memperlihatkan kemampuan untuk upload, tetapi masih sederhana sekali karena nama file hasil upload tidak menggunakan nama file aslinya, tetapi selalu disimpan dengan nama hasilupload.txt dlm direktori files dibawah direktori script PHP kita berada.

Untuk dapat menyimpan file dengan nama aslinya maka harus meng gunakan environment variabel yang menyimpan informasi nama aslinya.

Nama script : form_upload2.php

<html>

<head><title>Form untuk Input Nama File</title></head> <body>

<h1>Input Nama File untuk Upload – versi 2</h1> <br> Klik tombol Browse untuk memilih!

<form enctype=”multipart/form-data” method=”post” action=”do_upload2.php”> <input type=”hidden” name=”MAX_FILE_SIZE” value=”10000”>

nama File : <input type=”file” name=”file1” size=”30”> <br>

<input type=”submit” value=”Upload”> </form>

</body></html>

Script ini menggunakan PHP4 untuk melakukan penyimpanan file dengan nama sesuai

dg aslinya, dg menggunakan variabel $HTTP_POST_FILES[„file‟][„name‟].

Nama script : do_upload2.php <html>

<head> <title></title> </head> <body>

<h1>Simpan file yang diupload!</h1>

<? $namafile=$HTTP_POST_FILES[„file1‟][„name‟]; ?> <p>Nama File : <?ehco $namafile;?></p>

<br> <?

if ($file1!=”none”){

copy(“$file1”,”files/$namfile”) or die (“No file!”) ; } else {

die (“Tidak ada file yang akan diupload”) ; } ?>

Referensi

Dokumen terkait

Tujuan dari paper ini adalah untuk memperlihatkan bagaimana pemimpin NU, Abdurrahman Wahid (selanjutnya ditulis Gus Dur), menggunakan wacana dialog antaragama sebagai: pertama

Berdasarkan sorotan kajian-kajian lepas, tidak ada pengkaji yang cuba untuk mengkaji tingkahlaku kepemimpinan dengan komitmen pekeIja di NGO, oleh yang demikian,

Adapun tujuan dari penelitian yang dilakukan oleh Kartika adalah untuk membuat video profil Sekolah Menengah Pertama Negeri 2 Tawangsari Kabupaten Sukoharjo dan

Dengan demikian, pegawai negeri mempunyai peranan yang sangat penting dalam memperlancar jalannya roda pemerintahan agar setiap visi dan misi pemerintah dapat

Hal ini menunjukkan bahwa pesan yang terkandung dalam slogan dan gambar peringatan bahaya merokok tersebut dapat dipahami dan memberikan efek kepada responden

Puji syukur penulis panjatkan kepada Allah SWT yang telah melimpahkan berkah dan rahmat-Nya sehingga penulis dapat menyelesaikan laporan hasil Karya Tulis

(b) Rajah menunjukkan beberapa aktiviti manusia yang membebaskan karbon dioksida ke atmosfera dalam suatu ekosistem. Terangkan kesan pertambahan kepekatan CO 2 pada

Informasi tepi adalah sesuatu yang memiliki makna atau manfaat yang berada pada tepi foto udara. Adapun informasi pada photo udara yang perlu diidentifikasi sebagai