loading...
طراحی وب سایت

nariman بازدید : 95 یکشنبه 17 شهریور 1392 نظرات (0)

ارسال ايميل همراه با فايل ضميمه به وسيله PHP

php-mail-attach

بعد از چند وقت دوباره برگشتم و به اميد خدا سعي ميکنم از اين به بعد بيشتر به سايت سر بزنم.

در اين قسمت براتون يک تابع رو معرفي ميکنم که خواهيد طراحی وب سایت ديد چطور ميشه با پي اچ پي ايميل رو به همراه فايل ضميمه ارسال کرد.

 

تابع زير اين کار رو براي شما انجام ميده :

 

1

function mail_attachment($filename, $path, $mailto, $from_mail, $from_name,  $subject, $message) {

2

    $file = $path.$filename;

3

    $file_size = filesize($file);

4

    $handle = fopen($file, "r");

5

    $content = fread($handle, $file_size);

6

    fclose($handle);

7

    $content = chunk_split(base64_encode($content));

8

    $uid = md5(uniqid(time()));

9

    $name = basename($file);

10

    $header = "From: ".$from_name." <".$from_mail.">\r\n";

21

    $header .= "Content-Transfer-Encoding: base64\r\n";

22

    $header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";

23

    $header .= $content."\r\n\r\n";

24

    $header .= "--".$uid."--";

25

    if (mail($mailto, $subject, "", $header)) {

26

        echo "mail send ... OK"; // or use booleans here

27

    } else {

28

        echo "mail send ... ERROR!";

29

    }

30

}

براي استفاده از اين تابع به صورت زير عمل ميکنيم :

 

1

$my_file = "file1.pdf";

2

$my_path = $_SERVER['DOCUMENT_ROOT']."/myfiles/";

3

$my_name = "raj";

4

$my_mail = "info@domain.com";

5

$my_subject = "Email Subject ";

6

$my_message = "Refer the attached file.";

7

$to_email="to@domain.com";

8

  

9

mail_attachment($my_file, $my_path, $to_email, $my_mail, $my_name, $my_subject, $my_message);

 

ساخت URL هاي دلخواه با Htaccess

Posted on ??/??/?? | htaccess PHP

htaccess-security-seo

سلام

بنا به درخواست يکي از دوستان تصمبم گرفتم آموزش ساخت URL هاي دلخواه يا آدرسهاي کاربر پسند با استفاده از htaccess رو بذارم.

مزاياي اينجور آدرس دهي ها اول اينه که در موتورهاي جستجو بهتر شناخته ميشه.مزيت دوم هم که براي کاربراست.مثلا سايت twitter رو در نظر بگيريد »

 

 

 

همينطور که ميبينيد اين آدرس پروفايل به راحتي در ذهن کاربرا و هم در ذهن موتورهاي جستجو باقي ميمونه.

اما آدرسهاي ديگه اي مثل آدرس زير :

 

http://www.domain.com/profile.php?id=1304880680&action=edit

 

يک آدرس کاربر پسند نيست و به راحتي نميشه به خاطر سپردش.

براي ساخت آدرسهاي کاربر پسند دو راه وجود داره.

 

   استفاده فقط از Htaccess

 

   استفاده از Htaceess و Php

 

در هر دو راه بايد از فايل htaccess استفاه بشه. پس در ابتدا به آموزش htaccess ميپردازيم.

 

استفاده از Htaccess

 

فايل htaccess در حقيقت فايل تنظيمات وب سرور آپاچيه.

براي ساخت آدرسهاي زيبا توسط اين فايل ابتدا يک فايل با نام .htaccess بسازيد. سپس محتويات زير رو داخلش بنويسيد يا کپي کنيد :

 

1

Options +FollowSymLinks

2

RewriteEngine On

3

 

4

RewriteCond %{SCRIPT_FILENAME} !-d

5

RewriteCond %{SCRIPT_FILENAME} !-f

6

 

7

RewriteRule ^users/(\d+)*$ ./profile.php?id=$1

8

RewriteRule ^threads/(\d+)*$ ./thread.php?id=$1

9

 

10

RewriteRule ^search/(.*)$ ./search.php?query=$1

حالا به معرفي و توضيح کدهاي بالا ميپردازيم.

خط اول ممکنه طراحی وب سایت در بعضي هاست ها نياز باشه براي همين قرارش ميديم

درخط دوم مشخص کرديم که ميخوايم از RewriteEngine استفاده کنيم و اين ماژول آپاچي رو فعال کرديم.

در خط سوم هيچي ننوشتيم :D

در خط چهارم و پنجم شرطي قرار داديم که اگر آدرس درخواستي فايل و پوشه نبود بقيه دستورات ميتونن اجرا بشن.اين دو شرط براي زمانيه که کاربر مثلا فايل example.com/images/logo.png فراخواني کنه ميخوايم که مستقيم فايل رو بهش نمايش بده.

 

سه خط آخر مهمترين دستورات ما هستن.در هر خط با استفاده از عبارات با قاعده چک ميکنيم که اگر با آدرس درخواستي هم سان(مساوي ، مچ ) بود صفحه مقابلش رو لود کنه.

دستور زير رو در نظر بگيريد :

 

RewriteRule ^users/(\d+)*$ ./profile.php?id=$1

 

در اين دستور هر وقت url به صورت مثلا www.phpro.ir/user/123 بود فايل profile.php?id=123 رو درخواست ميکنه و به کاربر نمايش ميده.

خطوط بعدي هم همينطور.

 

 

 

اگر آدرس مساوي با قسمت rule باشه ،درخواست به  قسمت url به ارسال ميشه.

RewriteRule rule url

 

با استفاده از اين روش هر ادرسي رو که دلمون بخواد ميتونيم بسازيم. اما مشکلي که اين روش داره اينه که اگر تعداد صفحات سايتمون زياد باشه بايد براي همه صفحات يک دستور بنويسيم.

راه حل رفع اين مشکل استفاده از روش دوم.

 

استفاده از Htaccess به همراه Php

 

در اين روش ابتدا همه درخواست ها رو به فايل index.php ( يا هر فايلي که خواستيد) ميفرستيد. سپس با دستورات php آدرس رو تجزيه ميکنيد و ازش استفاده ميکنيد.

 

براي اينکار در فايل htaccess خطوط زير رو بنويسيد ( محتويات قبلي رو پاک کنيد) :

 

1

    Options +FollowSymLinks  

2

    RewriteEngine On  

3

 

4

    RewriteCond %{SCRIPT_FILENAME} !-d  

5

    RewriteCond %{SCRIPT_FILENAME} !-f  

6

 

7

RewriteRule ^(.*)$ index.php?param=$1

تنها تفاوت اين فايل با قسمت قبل دستور خط آخره.

به جاي نوشتن دستورات مختلف براي صفحات مختلف سايت در فايل htaccess ، در اين قسمت تمام URL ها رو به فايل index.php ارسال ميکنيم.که اين کار به ما کمک ميکنه بقيه کارها رو با دستورات پي اچ پي انجام بديم.

همينطور که در بالا ميبينيد همه درخواستهارو در متغير $_GET['param'] ريختيم.

حالا در فايل index.php ميتونيم به راحتي از متغير $_GET استفاده کنيم.

 

1

if(isset($_GET['param']) AND !empty($_GET['param']))

2

{

3

    $page = $_GET['param'];

4

    if(file_exists('pages/'.$page.'.php'))

5

    {

6

        include($page.'.php');

7

    }else

8

    {

9

        include('404.php'); 

10

    }

11

}else

12

{

13

    include 'main.php';

14

}

در ابتدا چک کرديم براي خالي نبودن و ست شدن متغير $_GET['[param'] اگر شرط برقرار نبود فايل main.php يا همون صفحه اصلي سايت نمايش داده ميشه. در غير اينصورت چک کرديم که آيا فايل مورد نظر وجود داره يا خير. اگر وجود داشت include ميشه وگرنه به کاربر صفحه ??? نمايش داده ميشه.

ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 19
  • کل نظرات : 5
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • آی پی امروز : 12
  • آی پی دیروز : 11
  • بازدید امروز : 14
  • باردید دیروز : 7
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 22
  • بازدید ماه : 21
  • بازدید سال : 45
  • بازدید کلی : 2,606