PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : معرفی توابع و کلاس های کاربردی php



amirlord
January 15th, 2012, 19:24
سلام
توی این تاپیک قصد داریم توابع ( Function ) های کاربردی زبان برنامه نویسی PHP رو معرفی کنیم ...
قصدمون اینه که بیشتر توابعی که معرفی کنیم برای مدیران سرور کاربردی باشه . مثلا توابعی که برای ساخت کنسول های مدیریت سرور و ... استفاده میشه

تابع چک کردن up یا down پورت یک آی پی - مثلا 127.0.0.1:80
اولین تابعی که به ذهنم میرسه fsockopen هست :d
خوب ساختار تابع به این صورت هستش :

fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )

که :


fsockopen("www.example.com", 80, $errno, $errstr, 30);

- متغیر اولی ip یا hostname
- متغیر دومی port
- متغیر سومی و چهارمی کاری بهش نداریم
- متغیر پنجمی هم مدت زمان تعیین شده برای نمایش timeout


مثال :

$fsp = fsockopen("www.example.com", 80, $errno, $errstr, 45); if (!$fsp) {echo 'Down'; } else { echo 'up'; }

منتظر پست های بعدی شما هستم :)
به دلیل مشغله کاری زیاد نمیتونم برسم . شرمنده ...

amirlord
January 16th, 2012, 13:45
سلامی دوباره
خوب امروز یه نگاه سریع به شیوه اتصال به SSH2 توسط PHP داریم .
برای ارتباط با پورت SSH سرور از ساختار تابع زیر استفاده میکنیم :

ssh2_connect ( string $host [, int $port = 22 [, array $methods [, array $callbacks ]]] )
که :

ssh2_connect('shell.example.com', 22);
خوب برای اتصال با یک یوزر خاص نیز از تابع زیر استفاده میکنیم :

ssh2_auth_password ( resource $session , string $username , string $password )
که :

ssh2_auth_password($test, 'username', 'password');

تابع ssh2_connect رو توی یه متغیر مثلا test قرار میدیم و در تابع ssh2_auth_password متغیر اولی رو همون متغیر کانکنت سرور که test بود رو قرار میدیم .

مثال :


$test = ssh2_connect('127.0.0.1', 22);
ssh2_auth_password($test, 'username', 'password');

خوب تا به اینجا به سرور متصل شدیم و الان نوبت این رسیده که از تابع ssh2_exec برای ارسال دستورات ( CMD ) استفاده کنیم ...
ساختار تابع :

ssh2_exec ( resource $session , string $command [, string $pty [, array $env [, int $width = 80 [, int $height = 25 [, int $width_height_type = SSH2_TERM_UNIT_CHARS ]]]]] )


از متغیر دوم میتونید برای CMD های خودتون استفاده کنید. ( که میتونید داخل Array نیز قرار بدید )
مثال :

$test = ssh2_connect('127.0.0.1', 22);
ssh2_auth_password($test, 'username', 'password');
$raminfo = ssh2_exec($test, 'cat /proc/meminfo');
تشریح :
خط 1 : از تابع ssh2_connect برای اتصال به سرور استفاده کردیم .
خط 2 : از تابع ssh2_auth_password برای اتصال به ssh با یک یوزر خاص استفاده کردیم .
خط 3 : با استفاده از تابع ssh2_exec برای ارسال دستورات استفاده کردیم . ( داخل متغیر قرار گرفته ! )

امیدوارم مفید واقع شده باشه . فعلا

amirlord
January 16th, 2012, 23:28
سلام ! :|
بعد از معرفی 2 تابع بریم یه کلاس معرفی کنیم .
کلاس WHM XML API که توسط آقای آرش همت نوشته شده . این کلاس 11 تا تابع داره که به بررسی آن ها خواهیم پرداخت ...
لینک : WHM XML API (CPanel API, change password, whm api, upgrade, accounts) - PHP Classes (http://www.phpclasses.org/package/4150-PHP-Manipulate-Cpanel-WHM-accounts-using-its-XML-API.html)
فایل کلاس رو نیز پیوست کردم براتون ...
لیست توابع :


- version()- gethostname()
- listaccts ()
- listPkgs()
- createAccount($acctDomain,$acctUser,$acctPass,$acc tPackg)
- accountsummary($accUser)
- passwd($accUser,$pass)
- suspend($acctUser,$reason)
- unsuspend($acctUser)
- terminate($acctUser,$keepDns=0)
- changepackage($accUser,$pkg)

فراخوانی فایل کلاس :

require_once('whm.php');

شروع کلاس :

$test= new whm;
برای اتصال به سرور cPanel :

$test->init('whmhost.com','whm_username','whm_hash');

تابع version
خوب از اسمش معلومه که ورژن cPanel رو خروجی میده .
مثال :

$version= $test->version();
echo $version;


تابع gethostname :
این تابع هاست نیم سرور رو خروجی میده .
مثال :

$gethostname= $test->gethostname();
echo $gethostname;

تابع listPkgs :
این تابع لیست پکیج هارو نمایش میده .
مثال :

$listPkgs= $test->listPkgs();


تابع createAccount
مهمترین تابع این کلاس :d با ارسال 4 متغیر اکانت رو میسازه .
- متغیر acctDomain : نام دومین اکانت بدون www
- متغیر acctUser : نام کاربری اکانت
- متغیر acctPass : رمز کاربری اکانت
- متغیر acctPackg : نام پکیج مورد نظر
تابع :

$createAccount= $test->createAccount($acctDomain,$acctUser,$acctPass,$acc tPackg);
مثال :

$result=$test->createAccount('testdomain.com','testuser','testpas sword123','package_test');

تابع accountsummary :
اینو تست نکردم ولی فکر کنم مشخصات یا فضای کاربر رو نشون میده .
- متغیر accUser : نام کاربری قربانی !
مثال :

$accountsummary= $test->accountsummary($accUser);



تابع passwd :
رمز عبور اکانت رو تغییر میده . دو متغیر داره .
- متغیر accUser : نام کاربری !
- متغیر pass : رمز جدید که میخواید بذارید .
مثال :

$passwd= $test->passwd($accUser,$pass);


تابع suspend :
ساسپند کردن اکانت x_X و 2 متغیر داره .
- متغیر acctUser
- متغیر reason
مثال :

$suspend= $test->suspend($acctUser,$reason);


تابع unsuspend :
آن ساسپند کردن اکانت . یک فروند متغیر دارد !
- متغیر acctUser
مثال :

$unsuspend= $test->unsuspend($acctUser);


تابع terminate :
ترمینیت کردن x_X :-SS ( از بیخ پاک کردن اکانت ) دو عدد متغیر .
- متغیر acctUser
- متغیر keepDns که بذارید روی 0 تا DNS هاش رو هم پاک کنه !

$terminate = $test->terminate($acctUser,$keepDns=0);


تابع changepackage :
تغییر پکیج اکانت . دو متغیر داره .
- متغیر accUser
- متغیر pkg
مثال :

$changepackage = $test->changepackage($accUser,$pkg);


یک مثال کلی که توی پیج کلاس بود :



<?php //include the whm class file.
require_once('whm.php');


// create a new instance of whm class
$test= new whm;


//initilize the whm object
//you can use you hostname or an IP below
//you can find you whm hash when yopu login into your whm account clickong on "Setup Remote Access Key" link.
$test->init('whmhost.com','whm_username','whm_hash');


//This will output the cpanel/whm version.
$version= $test->version();
echo "Cpanel/whm version is: $version <br>";


//This way you can create an account.
//This function will return a result set as an array in success and will return false on fail.
$result=$test->createAccount('testdomain.com','testuser','testpas sword123','package_test');


//check if creating account was successfull or not.
if($result)
{
//print the result set
print_r($result);
}
else
{
//You can get the errors like this.
print_r($test->errors);
}


?>

خسته شدم دیگه :d
امیدوارم تونسته باشم کمکی بهتون کرده باشم . با تشکر از همگی که وقتتون رو گذاشتید .

خدانگهدار / امیر

amirlord
January 17th, 2012, 17:30
سلام :)
یه تابع به نظرم رسیده که خیلی کاربردی و جالب هست به نام preg_match . بیشترین استفاده این تابع تکه تکه کردن یک متغیر هست . فرض میکنیم ما از طریق cURL یا هرچیزی دیگری سورس یه سایتی رو مساوی یه متغیر قرار دادیم و حالا میخوایم از اون سورس فقط یه جدول نمایش پیدا کنه !!!

ساختار تابع :

preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
PHP: preg_match - Manual (http://php.net/manual/en/function.preg-match.php)
خوب با مثال میریم جلو . با این اوضاع دلار x_X مثلا میخوایم جدول قیمت ارز ها در بازار تهران رو بذاریم توی سایتمون ( مثلا از سایت Mesghal.Com:�قيمت روز و لحظه ای طلا،سکه،نقره ، مس �و ار&#1 (http://mesghal.com/) ) خوب اولش میگیم اگر بخوایم iframe بذاریم خیلی ضایع میشه که !! PHP برای این که شما ضایع نشید یه فکری کرده :d

سورس سایتش رو مساوی یه متغیر قرار میدیم : ( با استفاده از تابع file_get_contents )

$source = file_get_contents("http://www.mesghal.com");
نوبت به جای حساس رسیده که بخواید از طریق تابع preg_mtach جدول مورد نظرمون رو جدا کنیم :d
خوب برای این کار باید با HTML آشنایی داشته باشید تا بتونید تگ تیبل یا هرچیزی رو که بخواید در بیارید .

میشه :


preg_match('/<table border="1" width="500" cellspacing="4" cellpadding="2" bgcolor="#FFFFCC" bordercolor="#FFFF00" id="table7">.*?<\/[\s]*table>/s', $source, $matches);

کد زیر تگ استارت جدول هست :

<table border="1" width="500" cellspacing="4" cellpadding="2" bgcolor="#FFFFCC" bordercolor="#FFFF00" id="table7">

و در نهایت تگ پایان هم به اون صورتی که در مثال بالا نوشته شده می نویسیم .

خوب حالا نوبت این رسیده که خروجی رو چاپ کنیم .
متغیر زیر خروجی preg_match ما هست :

$matches['0']
که با استفاده از دستور echo قابل نمایش است .

echo $matches['0'];


حالا کلش :

<?php
$source = file_get_contents("http://www.mesghal.com");
preg_match('/<table border="1" width="500" cellspacing="4" cellpadding="2" bgcolor="#FFFFCC" bordercolor="#FFFF00" id="table7">.*?<\/[\s]*table>/s', $source, $matches);
echo $matches['0'];
?>

اجرا کردن این 2 تابعی که معرفی شد نیازی به تغییرات در PHP.ini ندارد .
در ضمن کد هایی که برای نمونه در این تاپپیک قرار می گیرد تست شده و هیچگونه مشکلی ندارند ...
موفق باشید / امیر

amirlord
January 19th, 2012, 00:42
سلام
با این که خیلی خوابم میاد و فردا ساعت 5 باید بیدار بشم سعی کردم چشمانم رو باز نگهدارم تا یه تابع ساده و کوچیک رو معرفی کنم :d
امروز قراره تابع copy رو معرفی و بررسی کنیم .
این تابع کارش اینه که یه فایل رو کپی میکنه و یه جا دیگه پیست میکنه :دی

ساختار تابع :

copy ( string $source , string $dest [, resource $context ] )
دو دستگاه متغیر داره !
- متغیر source که از نوع string بوده و نشان دهنده فایل مبدا ( فایلی که میخوایم copy بشه ) هست . ( لینک داخلی یا خارجی فرقی نداره )
- متغیر dest از نو string که محل و نام ذخیره فایل copy شده رو مشخص میکنه .

مثال :

echo copy("http://www.google.com/amir.zip","hossein.zip");
در بالا می بینین که تابع متغیر اول رو دانلود میکنه و به نام فایل hossein.zip ذخیره میکنه .
اگر تابع با موفقیت اجرا شد خروجی 1 میده .

موفق باشید / امیر

amirlord
January 20th, 2012, 20:43
سلام
کم کم دارم دلسرد میشم !
امشب با کمک تابع هایی که در گذشته معرفی کردیم یک تابع می نویسیم که شماره کاربری در وب هاستینگ تاک رو می گیره و امضاش رو نشون میده !
اول تابع رو تعریف میکنیم L-)

function signature($userid) {

// Code haye Function :D


}

خوب یه دونه متغیر به نام userid تعریف کردیم داخلش .
حالا میریم سراغ توی فانکشن !
خوب حالا از تابع file_get_contents که قبلا معرفی کرده بودیم سورس صفحه اون کاربر رو در میاریم تا بتونیم قسمت امضاش رو ببریم و چاپ کنیم .

$source = file_get_contents("http://www.webhostingtalk.ir/member/".$userid);
توی وب هاستینگ تاک لینک صفحه کاربر به این صورت میشه که اول http : //www.webhostingtalk.ir/ member/ میاد و بعدش شماره کاربر قرار می گیره .
با اون "." دوتا متغیر رو در هم آمیختیم ! :d
خوب حالا سورس رو در اوردیم نوبت رسیده به تابع preg_match که قسمت امضا رو ببره !

تیبل امضای کاربر از تگ زیر شروع میشه :

<div class="blockbody subsection userprof_content userprof_content_border">
و در اولین

</div>
ـی که دیده شد کد هارو Cut میزنه !
حالا داریم :

preg_match('/<div class="blockbody subsection userprof_content userprof_content_border">.*?<\/[\s]*div>/s', $source, $matches);
و خروجی رو چاپ میکنیم :

echo $matches['0'];
حالا تابع رو کامل نوشتیم .

تابع به صورت کلی شده :

function signature($userid) {$source = file_get_contents("http://www.webhostingtalk.ir/member/".$userid);
preg_match('/<div class="blockbody subsection userprof_content userprof_content_border">.*?<\/[\s]*div>/s', $source, $matches);
echo $matches['0'];
}

حالا میتونیم تابع رو بدین صورت فراخوانی کنیم :

signature(9985);
در اینجا 9985 شماره کاربری من هست و شما با این کد میتونید امضای من رو در بیارید .

اگر وقت اجازه داد انشالله چند تا از این تابع های کاربردی برای ویبولتین رو به صورت کلاس در میارم و منتشر میکنم ( قول نمیدم ) .

امیدوارم در تمام لحظات زندگی کد بنویسید !
با تشکر / امیر

MihanTech
January 20th, 2012, 21:27
با تشکر از امیرحسین عزیز ،

براي چنين کارايي برنامه نويسها سراغ Regular Expression ميرند در حاليکه PHP براي اين کار تابعی داره که با راحتی هرچه تمامتر حتي fragment يا hash آدرس رو هم ميده.

تابع parse_url (http://php.net/manual/en/function.parse-url.php) در حالت استاندارد يک URL ميگيره و آرايه اي حاوي اجزاي آدرس ميده شامل اين قسمتها:


scheme: همون http يا https يا ftp و غيره
host: دامنه اصلي مثل Boplo.ir
port: پورت اگر باشه
user: همون username اگر باشه
pass: رمز يا password اگر ست شده باشه
path: مسير آدرس بعد از دامين
query: کوئري يعني کاراکترهاي بعد از علامت "?"
fragment: يا hash يا کاراکترهايي که بعد از علامت "#" ميان

براي نمونه همون مثالي که خود PHP مطرح کرده:


$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
/**
* Output:
* Array
* (
* [scheme] => http
* [host] => hostname
* [user] => username
* [pass] => password
* [path] => /path
* [query] => arg=value
* [fragment] => anchor
* )
*/


نکته مهم اين تابع اينه وقتي بجاي URL چرنديات تحويلش بديم، مقدار FALSE برميگردونه که ما بايد چک کنيم ولي بخاطر اينکه بيخود وقتش رو گرفتيم، يک خطاي E_WARNING هم صادر ميکنه که اگر نمايش اين دسته خطاها فعال باشه، خطا ميگيرم که مي تونيم اين مشکل رو با @ حل کنيم:


if( $url = @parse_url("chetoty googooli?") ) {
echo "Host: " . $url['host'];
} else {
echo "Invalid URL entered!";
}



از نسخه 5.1.2 به اين تابع يک پارامتر دوم اضافه شده که ميشه باهاش بجاي اينکه آرايه بگيريم، فقط بخش مورد نظر رو بصورت String بگيريم. مثلا اگر ميخوايم فقط کوئري آدرس رو بگيريم پارامتر دوم رو برابر PHP_URL_QUERY قرار ميديم. نمونه:


$url = "http://amir.ir/?loveBoplo=absolutely&loveAmirHossein=dige_poroo_nasho
echo parse_url($url, PHP_URL_QUERY);
/**
* Output:
* loveBoplo=absolutely&loveAmirHossein=dige_poroo_nasho
*/


واسه اينکه موضوع کامل بشه، وقتي به کوئري يک تابع نياز داريم، معمولا اينکه مقدار هر کليد در اون کوئري چيه به درد ميخوره. پردازش کوئري کار خيلي ساده ايه ولي براي همون کار ساده ي چند خطي هم تابعي وجود داره به نام parse_str (http://php.net/manual/en/function.parse-str.php). مثلا براي پردازش کوئري مثال قبل، اينجوري لذت ميبريم:


$url = "http://amir.ir/?loveBoplo=absolutely&loveAmirHossein=dige_poroo_nasho
$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $array);
print_r($array);
/**
* Output:
* Array
* (
* [loveBoplo] => absolutely
* [loveAmirHossein] => dige_poroo_nasho
* )
*/

amirlord
January 25th, 2012, 01:13
سلام .
تاپیک 4 روز خوابش برد !
شاید دوست داشته باشید از طریق PHP کامند بفرستید و نتیجه رو خروجی بدید !
خوب یه تابعی هست به نام shell_exec که دقیقا این کار میکنه !

shell_exec ( string $cmd )
PHP: shell_exec - Manual (http://www.php.net/manual/en/function.shell-exec.php)
فقط یک متغیر از نوع string داره .

مثالی که خود PHP زده :

<?php$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>

این یکی از تابع هایی هست که در Shell ها استفاده میشد و الان میشه گفت در بیشتر سرور ها این تابع بسته شده و الکی فکر شیطانی نکنید :d
امروز بحثمون کوتاه بود :دی
موفق باشید ...

amirlord
January 26th, 2012, 12:37
سلام
امروز با استفاده از سایت OnlineCurrency - قیمت لحظه ای طلا سکه ارز فلزات (http://onlinecurrency.ir/) یک تابع می نویسیم که تیبل چند ارز مهم و قیمت سکه روز رو نشون میده .
سورس ما اینجاست : OnlineCurrency - قیمت لحظه‌ای طلا سکه ارز فلزات (http://onlinecurrency.ir/widget/widget.php)
مثل پست های قبلی عمل میکنیم .

یه تابع میسازیم با دو متغیر به نام site و link

function arz($site ,$link) {

// HaHa :D


}

خوب حالا سورس صفحه رو میریزیم داخل یه متغیر :

$source = file_get_contents("http://onlinecurrency.ir/widget/widget.php");
از تابع preg_match برای بریدن استفاده میکنیم :

preg_match('/<div class="main">.*?<\/[\s]*div>/s', $source, $matches);

---
خوب یه تابعی هم که امروز میخوایم معرفی کنیم str_replace هست .
ساختار تابع str_replace

str_replace(find,replace,string,count)
متغیر find : از اسمش معلومه . به این متغیر داده هایی که قراره برامون جستجو کنه رو میدیم .
متغیر replace : داده هایی که قراره برامون به جای اون داده های find قرار بده .
متغیر string : متنی که میخوایم داخلش این عمل رو انجام بدیم .
متغیر count : توی اینجا یه متغیر میذاریم توش که نتیجه بازگشتی اون تعداد ریپلیست ها هست .
---

خوب ما وقتی سورسمون رو چاپ کنیم میخوایم اسم
Powered by:
Online Currency (http://onlinecurrency.ir/) به اسم سایت خودمون تغییر داده بشه ! (=;)
خوب اینجا باید دو بار عمل replace رو انجام بدیم . پس میایم دوتا متغیر رو میریزم داخل یه آرایه ( Array ) .

اینجا متغیر find مساوی آرایه قرار دادیم :

$find = array("Online Currency","http://onlinecurrency.ir");
اینجا هم متغیر replace :

$replace = array($site ,$link);

حالا تابع رو فراخوانی میکنیم :

print_r(str_replace($find,$replace,$matches['0']));

خوب اینجا Array هایی که بهش دادیم میره به ترتیب Find و Replace میکنه .


حالا تابعی که نوشتیم رو میتونیم اینجوری فراخوانی کنیم :

arz("XMoney" ,"http://www.xmoney.ir/");

اگر متوجه نشدید فایل رو ران کنید و کارکردش رو ببینید .

یه سری کد css هم داشت :

body,p,table,form,h1,h2,h3 {margin:0; padding:0}body {font-family:tahoma; font-size:8pt}
a {color:#000; text-decoration:none}
a:hover {color:#666; text-decoration:underline}
.main {width:200px; padding:5px; background:#F4F4F4; border:1px solid #444}
table {direction:rtl}
td {padding:5px; text-align:center}
.top {text-align:center; background:#EEE; color:#555; font-weight:bold; border:1px solid #ddd}

حالا یه Sample :


<?php
function arz($site ,$link) {
$source = file_get_contents("http://onlinecurrency.ir/widget/widget.php");
preg_match('/<div class="main">.*?<\/[\s]*div>/s', $source, $matches);
$find = array("Online Currency","http://onlinecurrency.ir");
$replace = array($site ,$link);
print_r(str_replace($find,$replace,$matches['0']));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test !</title>
<style type="text/css">
body,p,table,form,h1,h2,h3 {margin:0; padding:0}
body {font-family:tahoma; font-size:8pt}
a {color:#000; text-decoration:none}
a:hover {color:#666; text-decoration:underline}
.main {width:200px; padding:5px; background:#F4F4F4; border:1px solid #444}
table {direction:rtl}
td {padding:5px; text-align:center}
.top {text-align:center; background:#EEE; color:#555; font-weight:bold; border:1px solid #ddd}
</style>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-352924-23']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<?php
arz("Google" ,"http://www.xmoney.ir/");
echo '</div>';
?>
</body>
</html>


موفق باشید / امیر

amirlord
January 30th, 2012, 16:09
سلام
این همه برنامه نویس توی این انجمن . دوستان همراهی نمیکنید هاااا :دی
امروز قصد معرفی کلاس Snoopy رو دارم :دی
خوب این یک Class برای cURL هست . پس قبل از اجرای این کلاس باید تابع cURL در PHP.ini رو فعال کرده باشید ...
این کلاس خیلی قدرتمند هست و متاسفانه منبع آموزشی خوبی براش نیست .

از اینجا میتونید دانلود کنید :
Snoopy | Free Development software downloads at SourceForge.net (http://sourceforge.net/projects/snoopy/)

خوب بریم سراغ کارمون .
در فایلی که داریم می نویسم فایل کلاس Snoopy رو فراخوانی میکنیم :

include "Snoopy.class.php";

کلاس رو استارت میزنیم :

$snoopy = new Snoopy;

خوب این کلاس تابع زیاد داره برای همین فعلا یک تابع اون که کاربرد بیشتری رو داره معرفی میکنیم .
خوب اول با یه مثال ساده شروع میکنیم .
فرض کنید یک پیجی داریم به نام test.com/login.php
حالا ما میخوایم با cURL فرم این صفحه رو پر کنه و لوگین کنه و بعد بدون این که خروجی بده به صفحه test.com/list.php بره و سورس این صفحه رو خروجی بده .
خوب اینجا بهترین حالت اینه که از Snoopy استفاده کنیم :d

تابع submit سه تا متغیر داره .
URI
formvars
formfiles
کاری که ما میخوایم انجام بدیم با دو متغیر URI و formvars هست .

بریم سراغ کدها .
بعد از این که کلاس رو استارت زدیم باید متغیر هارو تعریف کنیم .

متغیر لینک فرم :

$submit_url = "test.com/login.php";


چون چند تا فیلد داریم باید بریزیمشون داخل Array

فرض کن فرم ورود سه تا فیلد داره . یکی username یکی password و یکی هم که submit ( در مواقعی که value submit در فروم فراخوانی میشه حتما متغیر submit باید تعریف بشه )

$submit_vars["username"] = "AmirLord";$submit_vars["username"] = "929292";
$submit_vars["Submit"] = "Login";

آرایه ی submit_vars که متغیر ها داخلش تعریف شدن .
بریم سراغ تابع submit

برای این که باکلاس باشیم تابع شرطی if هم میذاریم تنگش که در صورت نیاز error رو خروجی بدیم .

شروع می نماییم :

if($snoopy->submit($submit_url,$submit_vars))
خوب اگر if اوکی بود سورس صفحه خروجی که مساوی متغیر result هست رو چاپ میکنیم .

echo $snoopy->results;

و else که باید ارور رو خروجی بده متغیر error رو چاپ میکنیم :

echo "error fetching document: ".$snoopy->error."\n";


خوب تموم شد .
یک نمای کلی :


<?php include "Snoopy.class.php";
$snoopy = new Snoopy;
$submit_url = "test.com/login.php";
$submit_vars["username"] = "AmirLord";
$submit_vars["username"] = "929292";
$submit_vars["Submit"] = "Login";
if($snoopy->submit($submit_url,$submit_vars))
{ echo $snoopy->results;
} else {
echo "error fetching document: ".$snoopy->error."\n"; }
?>

موفق باشید / امیر

amirlord
February 7th, 2012, 18:27
سلام
امروز یه تابع دیگه از کلاس Snoopy رو معرفی میکنیم .
اسم تابع fetchform هست . همونطور که از اسمش معلومه بهش سورس میدی و html form های اون سورس رو خروجی میده .
فقط یه متغیر داره که لینک سورس هست .

یه مثال ساده میزنیم :

<?PHP// SINC
if($snoopy->fetchform("http://www.webhostingtalk.ir")) {
echo $snoopy->results;
} else {
echo "error fetching document: ".$snoopy->error."\n"; }
?>

- اگر دوستان همراهی کنند آموزش دور زدن captcha رو خواهیم داد ( Snoopy )
- موفق باشید ...

amirlord
February 16th, 2012, 10:46
سلام
امروز یه کلاس فوق العاده کاربردی برای ارسال ایمیل رو بررسی میکنیم .
کلاسی به نام که میتونید از اینجا دانلود کنید : PHPMailer - Browse /phpmailer for php5_6 at SourceForge.net (http://sourceforge.net/projects/phpmailer/files/phpmailer%20for%20php5_6/)
این کلاس برای gmail نوشته شده .
اول یوزر پس جیمیلمون رو با 2تا ثابت متغیر تعریف میکنیم .

define('GUSER', 'you@gmail.com'); // GMail username
define('GPWD', 'password'); // GMail password

فانکشنی که برای ارسال ایمیل بصورت smtp استفاده میشه :

function smtpmailer($to, $from, $from_name, $subject, $body) { global $error;
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 0; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
$mail->Host = 'smtp.gmail.com';
$mail->Port = 465;
$mail->Username = GUSER;
$mail->Password = GPWD;
$mail->SetFrom($from, $from_name);
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AddAddress($to);
if(!$mail->Send()) {
$error = 'Mail error: '.$mail->ErrorInfo;
return false;
} else {
$error = 'Message sent!';
return true;
}
}

بدین شکل استفاده میکنیم :

smtpmailer('to@mail.com', '', 'from@mail.com', 'yourName', 'test mail message', 'Hello World!');

خیلی راحت :دی

منبع : آموزش ساده ارسال ایمیل با phpmailer (http://forum.nullers.ir/showthread.php?tid=3374)

موفق باشید / امیر

bepad
February 16th, 2012, 23:50
سلام

دوستان تصمیم گرفتم براتون در این تاپیک مجموعه ای از توابع جالب و کاربردی زبان php رو قرار بدم امیدوارم به دردتون بخوره
با اجازه استارتر

اين تابع براي تغییر انواع داده بکار میرود.دو ارگومنت ان به ترتیب نام متغیر ويکي از انواع داده است


settype()
اين تابع براي برسي نوع داده يک متغیر استفاده میشود ومقدار بازگشتي ان نوع داده متغیر است


gettype()

اطلاعاتی درمورد متغیر ھمانند نوع داده و مقدار انرا برمیگرداند


var_dump()
اين تابع برسي میکند که ايا نوع داده ي متغیر بولین است يا نه


is_bool()
اين تابع برسي میکند که ايا نوع داده ي متغیر عدد صحیح است يا نه


is_int()
اين تابع برسي میکند که ايا نوع داده ي متغیر عدد اعشاري است يا نه


IS_FLOAT()
اين تابع برسي میکند که ايا نوع داده ي متغیر يک شي است يا نه


is_object()
اين تابع برسي میکند که ايا متغیر خالي است تا مقدار 1 را برگرداند





$var = '';
if (empty($var)) echo 'empty';


اين تابع برسي میکندکه ايا متغیر مورد نظر ست شده يا به عبارتي تھي نباشد که در این صورت مقدار 1 را برمیگرداند



$var;
if (! isset($var) ) echo 'is not set';


گرفتن مقدارمتغیر يا خالي کردن ان . این تابع ھمزمان میتواند بیش از يک ارگومنت را دريافت کند



$a = 52;
$b = 'str';
$c = true;
unset($var,$var2,$var3);


*همه این توابع از سایتهای مختلف جمع اوردی شده و هدف ایجاد یک ارشیو منظم است.

---------- Post added at 11:45 PM ---------- Previous post was at 11:40 PM ----------

یافتن کوچکترین عدد بین چندین عدد با استفاده از تابع زیر


echo min(5,3,6);

این تابع برعکس تابع بالایی کار میکند



echo max(5,3,6);

این تابع عدد را به سمت بالا گرد میکند



echo ceil(1.4);

این تابع عدد را به سمت پایین گرد میکند



echo floor(1.6);

این تابع عدد را به نزدیکترین عدد کامل,گرد میکند. این تابع ھمچنین ارگومانی بصورت اختیاری را برای تعیین دقت محاسبه دریافت میکند.مثال زیر عدد
را تا دو رقم اعشار گرد میکند



echo round(2.590,2);

تبدیل باینری به دسیمال



echo bindec(1010);

تبدیل دسیمال به باینری



echo decbin(10);


این تابع جھت بدست اوردن جذر یک عدد بکار میرود



echo sqrt(9);



---------- Post added at 11:48 PM ---------- Previous post was at 11:45 PM ----------

امیر جان اگر میتونی کلاسی برای دسترسی و ایجاد اکانت در دایرکت ادمین معرفی کن کلاس سی پنل ارش بسیار عالی بود

---------- Post added at 11:50 PM ---------- Previous post was at 11:48 PM ----------

امیر جان اگر میتونی کلاسی برای دسترسی و ایجاد اکانت در دایرکت ادمین معرفی کن کلاس سی پنل ارش بسیار عالی بود

amirlord
February 16th, 2012, 23:54
سلام
کلاس برای Directadmin خیلی کم هست . من یکی پیدا کردم :
PHP DirectAdmin (xmlrpc php, xmlrpc, panel, emails, bandwidth, send xml, Web Hosting) - PHP Classes (http://www.phpclasses.org/package/3399-PHP-Manage-hosting-accounts-with-DirectAdmin-Web-panel.html)
اما برای اکانت عادی نوشته شده و ساخت اکانت و ... نداره . البته به محضی که سرم خلوت شد این کلاس رو گسترش میدم و توابع مربوط به ریسلر هارو نیز می نویسم تا کاربران بتونند استفاده کنند .
موفق باشید .

amirlord
February 19th, 2012, 22:50
سلام
امروز میخوایم با PHP به ODBC متصل بشیم ! ( با ODBC تقریبا به همه ی پایگاه های داده میتوانید متصل شوید . )
خوب یه راست میریم سر اصل مطلب .
با تابع odbc_connect به ODBC متصل میشیم .
مثلا :
مساوی متغیر قرار میدیم :

$conn=odbc_connect('amir','','');
حالا بریم سراغ کوئری ها . فرض کنید میخوایم یک تیبل به نام users رو SELECT کنیم و رکورد هارو چاپ کنیم .

$sql="SELECT * FROM users";
و حالا تابعی که کوئری رو اجرا میکنه odbc_exec هست ( این تابع در MySQL به نام mysql_query هست )

$rs=odbc_exec($conn,$sql);
حالا با استفاده از تابع odbc_fetch_row نتیجه رو برمیگردونیم .
ما تو اینجا چون لیست داریم باید از تابع while برای حلقه استفاده کنیم .
یه چیزی شبیه این داریم :

$rs=odbc_exec($conn,$sql);if (!$rs)
{exit("Error in SQL");}
echo "<table><tr>";
echo "<th>Companyname</th>";
echo "<th>Contactname</th></tr>";
while (odbc_fetch_row($rs))
{
$compname=odbc_result($rs,"CompanyName");
$conname=odbc_result($rs,"ContactName");
echo "<tr><td>$compname</td>";
echo "<td>$conname</td></tr>";
}
odbc_close($conn);
echo "</table>";
وقتی while شروع شد با استفاده از تابع odbc_result خروجی هر کدوم رو مساوی یک متغیر قرار میدیم تا بعدا تو خط پایین تر چاپشون کنیم !

حالا اگر یک نگاه کلی داشته باشیم :

$conn=odbc_connect('amir','','');if (!$conn)
{exit("Connection Failed: " . $conn);}
$sql="SELECT * FROM users";
$rs=odbc_exec($conn,$sql);
if (!$rs)
{exit("Error in SQL");}
echo "<table><tr>";
echo "<th>Companyname</th>";
echo "<th>Contactname</th></tr>";
while (odbc_fetch_row($rs))
{
$compname=odbc_result($rs,"CompanyName");
$conname=odbc_result($rs,"ContactName");
echo "<tr><td>$compname</td>";
echo "<td>$conname</td></tr>";
}
odbc_close($conn);
echo "</table>";


منبع : PHP Database ODBC (http://w3schools.com/php/php_db_odbc.asp)

امیدوارم به دردتون خورده باشه . موفق باشید ...

bepad
February 22nd, 2012, 19:43
سلام

دوستان براتون امروز یک تابع اماده کردم جهت نمایش وضعیت ای دی یاهو

کد ها گویای کار هست سوال داشتید بپرسید



<?php
function ystatus($yid) {
$strUser = $yid;
$url = "http://mail.opi.yahoo.com/online?u=".$strUser."&m=t&t=0";
$handle = fopen ("$url", "r");
$contents = "";
do {
$data = fread($handle, 10000);
if (strlen($data) == 0) {
break;
}
// Get the output from yahoo
$contents .= $data;

} while(true);
fclose ($handle);
if ((strpos(strtoupper($contents),"NOT ONLINE") ? strpos(strtoupper($contents),"NOT ONLINE")+1 : 0)>0)
{
// If your yahoo username offline on Yahoo Messenger set variable status to OFFLINE
$strStatus = "OFFLINE";

// Add custom Offline Image
$imgStatus = "<a href=\"ymsgr:sendIM?" .$strUser ."\"><IMG SRC='/im_offline.gif' ALT='OFFLINE'><br />offline</a>";

}
else
{

// If your yahoo username Online on Yahoo Messenger set variable status to ONLINE
$strStatus = "ONLINE";
// Add Custom Online Image
$imgStatus = "<a href=\"ymsgr:sendIM?" .$strUser ."\"><IMG SRC='/im_online.gif' ALT='ONLINE'><br />Omline</a>";
}
// return your custom output
return $imgStatus;
}
?>

<html>
<head>
</head>
<body>
<?php

echo ystatus ("test id");

?>

</body>
</html>






---------- Post added at 07:43 PM ---------- Previous post was at 07:37 PM ----------

اینم بعدی
با این میتونید متن رو به عکس تبدیل کنید
کاربرد:برای نمایش رمز و ارائه متون و کد های امنیتی



<?php
function strimage($str){
header ("Content-type: image/png");
$font = 4;
$width = ImageFontWidth($font) * strlen($str);
$height = ImageFontHeight($font);

$im = @ImageCreate ($width,$height);
$background_color = ImageColorAllocate ($im, 150, 250, 50); //gray background
$text_color = ImageColorAllocate ($im, 0, 0,0);//black text
ImageString ($im, $font, 0, 0, $str, $text_color);
ImagePNG ($im);
}
strimage("text_text");
?>

amirlord
March 13th, 2012, 15:51
سلام
تابعی که امروز معرفی میکنیم system هست .
این دو تابع 2متغیر ورودی داره که ما فقط با اولیش کار داریم .

string system ( string $command [, int &$return_var ] )

با این تابع میتونیم یه سری command رو روی سیستم میزبان اجرا و خروجی رو چاپ کنیم . مثلا بخوایم بفهمیم لود سی پی یو چند هست یا فضای خالی هارد و .. چقدر هست !

چند تا نمونه :
آپتایم:

system("uptime");
اطلاعات سیستم:

system("uname -a");
فضای مموری:

system("free -m");
فضای دیسک:

system("df -h");
اطلاعات پردازنده:

system("cat /proc/cpuinfo | grep \"model name\\|processor\"");

منابع :
PHP: system - Manual (http://php.net/manual/en/function.system.php)
اسکریپت مانیتور کردن لود Cpu (http://forum.nullers.ir/showthread.php?tid=3494)


موفق باشید / امیر

amirlord
March 20th, 2012, 18:38
سلام
امروز با یه تابعی داشتم کار میکردم که گفتم شاید بدردتون بخوره .
نام تابع exec هست .
با این تابع میتونید Command های دلخواه به CMD ویندوز ارسال و نتیجه رو خروجی بدید .
ساختار تابع :

string exec ( string $command [, array &$output [, int &$return_var ]] )
فعلا فقط با متغیر اولیش کار داریم که Command هست .

مثال ها :
نام اکانت در سیستم :

echo exec('whoami');

پینگ 4.2.2.4 :

echo exec('ping 4.2.2.4');

و ...

توجه : این تابع در بیشتر سرور های هاستینگ بسته شده هست و قابل استفاده در هاست های اشتراکی نیست !

امیدوارم به دردتون خورده باشه .
آرزوی سالی خوب برای شما و خانواده محترم
موفق باشید / امیر

amirlord
April 13th, 2012, 20:56
سلام
برای امروز 2تابع داریم که عکس کار یکدیگر رو انجام میدن .
تبدیل Binary به Decimal و بالعکس :

Decimal - Wikipedia, the free encyclopedia (http://en.wikipedia.org/wiki/Decimal)
Binary - Wikipedia, the free encyclopedia (http://en.wikipedia.org/wiki/Binary)

تابع decbin که که decimal رو به binary تبدیل میکنه .

string decbin ( int $number )

مثال :

<?phpecho decbin(12) . "\n";
echo decbin(26);
?>

تابع bindec که binary رو به decimal تبدیل میکنه .

number bindec ( string $binary_string )

مثال :

<?phpecho bindec('110011') . "\n";
echo bindec('000110011') . "\n";


echo bindec('111');
?>



PHP: bindec - Manual (http://www.php.net/manual/en/function.bindec.php)
PHP: decbin - Manual (http://www.php.net/manual/en/function.decbin.php)

موفق باشید .

rezaonline.net
April 16th, 2012, 02:40
با اجازه دوستان منم یه دست پخت بدم!
بعضی وقتها عمو قلیـ ـلتر چی اشتباهی یه سایت رو قیـ ــلتر میکنه!
هر چی هم پیغام میفرستی که اله و بله این سایته خوب بود چرا چیز شد ، جوابی نمیگیرید!

خب بیایید با Curl و file_get_contents یه حالی به این سایتا بدیم!
اول یه پوشه بسازید توی ساییتون مثلاً ghilter
بعد سه تا فایل به اسم های index.php , make.php , img.php

فرض میکنیم آدرس سایت شما mysite.ir باشه با اون پوشه میشه http://mysite.ir/ghilter

محتوای فایل index.php (آدرس http://mysite.ir/ghiltr/ با آدرس جدید جایگزین کنید! )


<?php

ob_start();$siteurl = 'http://mysite.ir/ghiltr/';
if(isset($_GET['url'])) $addr = base64_decode($_GET['url']);else $addr = 'http://google.com'; $content = file_get_contents($addr);preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $content, $matches);

foreach($matches[1] as $img) $content = str_replace($img,$siteurl.'img.php?img='.base64_en code($img),$content);
echo $content;
?>


حالا محتوای فایل img.php (لازم به ذکره که سایت شما باید جتماً از curl پشتیبانی کنه)

<?php
if(isset($_GET['img'])) $img = base64_decode($_GET['img']);else $img = null; if($img){$ch = curl_init($img);curl_setopt($ch, CURLOPT_HEADER, 0);curl_exec($ch);curl_close($ch);}

و حالا فایل make.php


<?php
echo '<a href="index.php?url='.base64_encode($_POST["make"]).'" target=_blank />Click</a> <br><input type=text size=80 value='.base64_encode($_POST["make"]).' />'; ?><form method=post ><input type=text name=make size=80 value='http://' /><input type=submit value=ok /></form>


خب این سه کارو کردید؟
حالا به آدرس mysite.ir/ghilter/make.php برید.
توی فیلد دوم آدرس سایت ***** شده رو بنویسید (حتماً در ابتداش http://www. رو بنویسید ! یادتون نره!) بعد make رو بزنید!
بعد میبینید که فیلد اولیه یه مقدار عجق وجق مینویسه ! (مثلاً 123)
اون مقدار رو کپی کنید و بصورت متد گت بدید به index.php
یعنی بابا جون اینجا برید mysite.ir/ghilter/index.php?url=123

یا روی لینکی که توی همون make.php بعد از make کردن آدرس سایت ***** شده میده کلیک کنید!

با تشکر رضا.ش

کنکوریهاش بزن لایکو ...

rezaonline.net
April 17th, 2012, 03:04
يه دست پخت ديگه از خودم .
خيلي ها شايد از روش سنتي براي اتصال به ديتابيس و کوئري استفاده ميکنن.
و شايد خيلي هاتون از mysqli هيچ وقت استفاده نکردين! جالبه بدونين mysqli سرعت قابل توجهي در مقابل mysql داره . (توي پرانتز mysqli هم براي ارتباط با ديتابيس MySql استفاده ميشه!)
خب من دو تا کلاس استايک mysql , mysqli براي ارتباط با ديتابيس نوشتم .
از هر کدوم که خواستين استفاده کنين هر وقتي هم دوست داشتين ميتونين بينشون سويچ کنين


کلاسها رو ميذارم . اول بايد يکي از کلاسهاي زير رو توي برنامهتون include کنين


کلاس mysql

class db { static private function _construct(){ @mysql_connect(dbhost,dbuser,dbpass) or die('<h1>error in connect db'); @mysql_select_db(dbname) or die('<h1>error in select db'); } static public function set_utf8(){ self::_construct(); mysql_query("SET NAMES 'utf8'"); } static public function escape($x){ if(function_existes(mysql_real_escape_string)) return mysql_real_escape_string($x); else return $x; } static public function q($x){ self::set_utf8(); return @mysql_query($x); } static public function get($x){ $result = self::q($x); $out = array(); $i = 0; while($row = mysql_fetch_object($result)){ $i++; $out[$i] = $row; } return $out; } static public function q_af($x){ self::q($x); return mysql_affected_rows(); } static public function close(){ @mysql_close(self::_construct()); return 1; } static private function _destruct(){ return; }}




کلاس mysqli

class db { static private $mysqli = null; static private function _construct(){ @self::$mysqli = new mysqli(dbhost,dbuser,dbpass,dbname) ; if(self::$mysqli->connect_error) die('<h1>error in connect db'); } static public function set_utf8(){ self::_construct(); @self::$mysqli->query("SET NAMES 'utf8'"); } static public function escape($x){ if(function_existes(mysqli_real_escape_string)) return mysqli_real_escape_string($x); else return $x; } static public function q($x){ self::set_utf8(); return @self::$mysqli->query($x); } static public function get($x){ $result = self::q($x); $out = array(); $i = 0; while($row = @$result->fetch_object()){ $i++; $out[$i] = $row; } return $out; } / static public function q_af($x){ self::q($x); return self::$mysqli->affected_rows; } static public function close(){ self::$mysqli->close(); return 1; } static private function _destruct(){ return; }}


روش استفاده ابتدا يکي از کلاسهاي زير رو توي يه فايلي بذاريد و توي مثلاً فايل config.php پروژهتون include کنين.
سپس بايد 4 تا ثابت تعريف کنين مثل مثال زير

define('dbname','reza19');
define('dbuser','root');
define('dbpass','');
define('dbhost','127.0.0.1');


حالا هرجا خواستين به ديتابيس کوئري بدين از متد زير استفاده کنين

db::q("INSERT INTO `cat` VALUES (NULL, 'uri', 'توضيحات', 'نام')")




براي راحتيه شما يه get هم اضافه کردم که هروقت select داشتين از اين استفاده کنين بهتره (چون خودش fetch ميکنه)

$get = db::get('select * from comment limit 10');

print_r($get);

foreach($get as $row)
echo $row->id.'----'.$row->name.'<br>';
، البته واکشي رو بصورت object ميده بيرون

بعضي وقتهام که ميخوايد يه insert يا update انجام بديد يه affected row ميخوايد که مثلاً تعداد سطرهاي تغيير کرده رو نشون ميده
که بايد چک کنين اگه بزرگتر از 0 بود تغييرات انجام شده در غير انصورت تغييرات انجام نشده براي اينکار از متد زير استفاده کنيد

$result= db::q_af("INSERT INTO `cat` VALUES (NULL, 'uri', 'توضيحات', 'نام')");if($result>0) echo 'تغغيرات ثبت شد'; else echo 'تغييرات ثبت نشد';
* توي کلاسها چارست پيشفرض روي utf8 هست .
* نکته پاياني اينکه کلاسهاي استاتيک نياز به نمونه گيري ندارن


با تشکر رضا شيخله

rezaonline.net
April 29th, 2012, 19:01
با سلام دوستان
گاهي اوقات لازم شده يه اسکريپت رو از يه جا دانلود کنيد بعد روي هاستتون آپلود کنيد و استفاده کنيد .
عامل تاخير سرعت در اينحالت ميشه سرعت اينترنت شما ، چون بايد اول فايل رو دانلود کنيد و بعد آپلود
مديراي سرورها که با يه دستور لينوکس همه ي چيو اينور اونور ميکنن اما ما که مدير نيستيم :)
خب راه حل اينکه با استفاده از تابع file_get_contents فايل رو بگيريم و با fwrite اونو بنويسيم !
اينجوري نيازي به دانلود و آپلود فايل نيست و علناً داريم از سرور استفاده ميکنيم که معمولاً سرعتش در حد خداست :)
* نکته لازم اينکه بايد فايل حتماً لينک مستقيم باشه !
سرتون رو درد نيارم يک فايل به اسم مثلاً getfile.php بسازيد و دستورات زير رو توش بذاريد

<meta http-equiv=Content-Type content='text/html; charset=utf-8' /><style>.red{color:red;font-weight:bold;}.green{color:green;font-weight:bold}span{display:block;padding:2px;}a{text-decoration:none;color:darkorange;font-family:tahoma;font-size:8pt;text-shadow:1px 1px 0 rgb(250,250,250)}</style><form method=post action=<?php echo basename(__FILE__);?>><div style='direction:rtl;font-family:tahoma;font-size:8pt;margin:0 auto; padding:25px; width:800px;color:gray'>آدرس کامل فايل : <input name=addr type=text dir=ltr size=100 value='http://' ><br>قرار دادن در شاخه : <input name=dir type=text dir=ltr size=100 value="<?php echo dirname(__FILE__)?>/" ><input type=hidden name=ok value=ok ><br><br><input type=submit style='background:#FFF;border:1px solid gray;font-family:tahoma' value='انتقال بده' /></form><?phpif(isset($_POST['ok'])){ $content = file_get_contents(trim($_POST['addr'])); @mkdir($_POST['dir'].'/', 0755); $fp = fopen($_POST['dir'].basename($_POST['addr']), "wb"); if (!$fp) echo '<span class=red>انتقال انجام نشد احتمالاً خطا از فايل يا دايرکتوري است .</span>'; else echo '<span class=green>فايل ساخته شد . </span>'; fwrite($fp, $content); fclose($fp);}?></div><center><a href='http://rezaonline.net/blog' target=_blank>RezaOnline.Net</a></center>

حالا به آدرس اون فايل بريد مثلاً http://mysite.ir/getfile.php
دو تا فيلد هست بالاييش آدرس لينک مستقيم فايل مورد نظر
پائينيش شاخه اي که بايد توش قرار بگيره که پيشفرض بغل دست همون فايل getfile.php قرار ميگيره
اگه ميخوايد توي پوشه جديد باشه کافيه اسم پوشه رو به انتهاي قرار دادن در شاخه اضافه کنيد و يک / هم بذاريد بغل دستش

* يه حرف در گوشي : بعضي از فايلها و عکسها هستن که عمو قـ ـيلتـ ـر چي ، چيزشون کرده ، با اين روش ميتونيد اونم دور بزنيد

کنکوريهاش بزن لايکو

amirlord
May 3rd, 2012, 23:49
سلام
در صفحات قبل تابع str_replace رو معرفی کرده بودم که کار جستجو و جایگزین کردن رو انجام میداد .
اما ما اگر بخوایم تعداد زیادی کاراکتر رو جاشون رو با هم عوض کنیم استفاده از این تابع زمان بر خواهد شد و ما ملزم به این هستیم که هر یک از کاراکتر هارو توی یه متغیر تعریف کنیم و یا بصورت آرایه در بیاریم .
تابعی که امروز معرفی میکنم strtr نام داره .

string strtr ( string $str , string $from , string $to )

3 متغیر داره .
متغیر اولی متن ما هست که میخوایم توش عمل ری پلیس رو انجام بدیم .
متغیر دومی تمامی کاراکتر هایی که میخوایم پیدا کنیم رو پشت سر هم می نویسیم .
متغیر سوم هم تمام کاراکتر هیی که به جای متغیر دوم باید جایگزین بشن رو پشت سر هم می نویسیم .

مثال :

<?phpecho strtr("Hilla Warld","ia","eo");
?>
خروجی :

Hello World



PHP strtr() Function (http://www.w3schools.com/php/func_string_strtr.asp)
PHP: strtr - Manual (http://php.net/manual/en/function.strtr.php)

rezaonline.net
May 7th, 2012, 05:48
استفاده از یک آمارگیر نیمه اختصاصی !


دوستانی که بازدیدهای خیلی زیادی دارن و همچنین از افزونه های آمارگیر استفاده میکنن حتماً میدونن که این افزونه ها به نوعی فشار اضافه ای به سرور میاره !
چه خوب میشد اطلاعات بازدید ما رو یه سرور دیگه پردازش کنه و ما فقط نشون بدیم !
سرتون رو درد نیارم سایت pichak.net یک آمارگیر ساده گذاشته که همه میتونن به راحتی استفاده کنن
به آدرس !...آمارگیر جدید پيچك...! PICHAK (http://pichak.net/blogcod/statistics) برید و روی دریافت کد کلیک کنید .
یه سری کد عجق وجق بهتون میده که میگه یه جای قالبتون کپی کنید که البته حرفش منطقیه اما ما میخوایم خودمون اطلاعات بازدیدها رو هر جور دلمون میخواد بچینیم !
پس نیازی به کپی کردن اون فیلها نیست !
توی اون کدها بگردید مقدار برابر id رو در بیارید
.... ?color=3e3e3e&bgcolor=fff5d8&id=hfjjpyv1en&borderc=3e3e3e ...
مثلاً این کد مقدار id ایش hfjjpyv1en هست .


حالا یه تابع خوشکلی که نوشتم رو توی برنامه تون بذارید

function pichak($id = 'aabbcc') { $url = 'http://www.pichak.net/statistics/code/amar.php?color=3e3e3e&bgcolor=fff5d8&id='.$id; if(function_exists('curl_init')) { $handle = curl_init(); curl_setopt($handle,CURLOPT_URL,$url); curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE); $stat_page = curl_exec($handle); curl_close($handle); }else @$stat_page = file_get_contents($url); $output = array(); preg_match('@&nbsp;&nbsp;افراد آنلاين: <b>(.*)</b> نفر@',$stat_page,$out); @$output['useronline'] = $out[1]; preg_match('@&nbsp; بازديد امروز: <b>(.*)</b> نفر@',$stat_page,$out); @$output['today'] = $out[1]; preg_match('@&nbsp; بازديد دیروز: <b>(.*)</b> نفر@',$stat_page,$out); @$output['yesterday'] = $out[1]; preg_match('@&nbsp; بازديد ماهانه: <b>(.*)</b> نفر@',$stat_page,$out); @$output['monthly'] = $out[1]; preg_match('@&nbsp; بازديد سالانه: <b>(.*)</b> نفر@',$stat_page,$out); @$output['yearly'] = $out[1]; preg_match('@&nbsp; بازديد كل: <b>(.*)</b> نفر@',$stat_page,$out); @$output['all'] = $out[1]; if(!is_array($output) && !is_array($out) && !$out) return ''; return $output; }

حالا اون آی دیه یادتون هست اینجوری ازش استفاده کنین

<?php $pichak_stat = pichak("hfjjpyv1en"); ?> <table> <tr><td>افراد آنلاین :</td><td><?php echo $pichak_stat['useronline'];?></td></tr> <tr><td>بازدید امروز :</td><td><?php echo $pichak_stat['today'];?></td></tr> <tr><td>بازدید دیروز :</td><td><?php echo $pichak_stat['yesterday'];?></td></tr> <tr><td>بازدید ماهانه :</td><td><?php echo $pichak_stat['monthly'];?></td></tr> <tr><td>بازدید سالانه :</td><td><?php echo $pichak_stat['yearly'];?></td></tr> <tr><td>بازدید کل :</td><td><?php echo $pichak_stat['all'];?></td></tr> </table>

لازم به ذکره شمارش آمار در سایت شما هیچ ردپایی از pichak.net رو نمیذاره اما در باطن پردازش اطلاعات روی دوش اون سایته !

کنکوریهاش بزن لایکو

amirlord
May 21st, 2012, 02:36
سلام
دوتا تابع کاربردی از آرشیو پیدا کردم که مربوط به اوایل یادگیری پی اچ پی من بود که ساده هستند ولی به شدت کاربردی .
تابع محاسبه مبلغ با تخفیف با گرفتن درصد تخفیف + مبلغ کل :


function percent($percent, $total) {$forreturn = $percent / 100 * $total;$ncost = $total - $forreturn;return $ncost;}



تابعی که با دادن حداقل ، حداکثر و مبلغ مورد موردنظر به ما میگه که آیا مبلغ بین minimum و maximum و یا مساوی اونها هست یا نه .


function ifpc($min,$max,$cost) {if ($max > $cost || $max == $cost ) {if ($min < $cost || $min == $cost){return true;} else {return false;}} else {return false;}}

این توابع توی کد های حسابداری کاربرد زیادی دارند . سعی میکنم از این دست توابع بازم بذارم .
موفق باشید .

amirlord
June 8th, 2012, 21:47
سلام
یه سر میزنم به ورودی ها !
فرض میکنیم قراره یه لیست ایمیل دریافت کنیم و اونارو بصورت هر کدوم تو یه رکورد در دیتابیس ثبت کنیم .
خیلی سخت و یا حتی غیر ممکنه که برای دریافت هر ایمیل در html یک فیلد تعریف کنیم و سپس در php جداگونه دریافت کنیم !
خوب میایم یه دونه فیلد میذاریم و به کاربر میگیم که ایمیل هارو با " " ( فاصله ) یا "," یا ... جدا بکنه .
خوب مشکل اینجاست که وقتی ورودی ها اومد توی php چطوری هر کدوم از ایمیل هارو بفرستیم داخل آرایه ؟
تابعی هست به نام explode که این کارو انجام میده .

ساختار تابع :

array explode ( string $delimiter , string $string [, int $limit ] )

این تابع 3متغیر ورودی داره .
متغیر اولی delimiter : این همون کاراکتری هست که ما برای جدا سازی ازش استفاده کردیم !
متغیر دومی string : درواقع همون ورودی کل ایمیل ها هست .
متغیر سومی limit که اختیاری هست و بصورت int ورودی می پذیره : این کار محدود سازی تعداد آرایه هارو انجام میده . مثلا ما فقط 100تا متغیر تو آرایه نیاز داریم . حالا اگه کاربر 250 تا ایمیل هم بزنه 100تاش میاد تو آرایه .

مثال :

$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2


PHP: explode - Manual (http://php.net/manual/en/function.explode.php)

RPaiNA
June 8th, 2012, 23:06
کار همتون درسته!!! ;)

parsspace
July 10th, 2012, 20:24
باحال ترین تابع php اینه nl2br :-p

amirlord
July 10th, 2012, 20:31
باحال ترین تابع php اینه nl2br :-p
با تشکر از شما .

خدمت اون کاربرانی که با تابع nl2br آشنا نیستند .
تابع nl2br کار حفظ فواصل و اینتر هایی که بین متن زده میشه رو انجام میده . با خروجی دادن تگ های مناسب html .
یعنی اگر یه textarea داشته باشیم و بخوایم اونو POST کنیم نمیتونیم فواصل و اینتر هارو تشخیص بدیم ! یعنی همش پشت سر هم میاد . ولی وقتی تابع nl2br رو روش اعمال میکنیم مثلا به کمک تگ <br> کار اینتر رو انجام میده .

ساختار تابع :

string nl2br ( string $string [, bool $is_xhtml = true ] )

PHP: nl2br - Manual (http://php.net/manual/en/function.nl2br.php)
PHP nl2br() Function (http://www.w3schools.com/php/func_string_nl2br.asp)

parsspace
July 11th, 2012, 01:49
ایول کارت درسته پس این ۲ تارم بگو تا تکمیل شن تو این روزا که بازار وب ۳ ۴ ۵ ۶ ۷ ... گرمه کارایی بالایی داره
json_encode
json_decode

amirlord
July 11th, 2012, 02:06
ایول کارت درسته پس این ۲ تارم بگو تا تکمیل شن تو این روزا که بازار وب ۳ ۴ ۵ ۶ ۷ ... گرمه کارایی بالایی داره
json_encode
json_decode
:دی

خوب json که من زیاد کار نکردم ولی در حدی که میدونم توضیح میدم به کاربرا .
در واقع json یه شیوه ارائه متغیر ها هست که حتی بدون دیکود کردن اون هم قابل خوندنه . بسیار مورد استفاده برای API ها .
دقیقا مورد استفادش جایی هست که ما میخوایم خروجی API رو بصورت چند متغیر بدیم .
میایم یه رشته میسازیم و اونو برمیگردونیم که دوباره اونو برای بازخوانی دیکود میکنیم . explode

خوب json_encode رو اگر بخوایم معرفی کنیم . این ساختار :

string json_encode ( mixed $value [, int $options = 0 ] )

خوب . هرچی تابع داریم رو می ریزم داخل یه آرایه اونو مقدار تابع ـمون میذاریم .
مثال :

<?php$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);


echo json_encode($arr);
?>

که خروجی میشه :

{"a":1,"b":2,"c":3,"d":4,"e":5}
که در واقع ما اینو خروجی میدیم به سمت کلاینت .

خوب حالا بیایم سمت کلاینت . وقتی اومد اینو نیاز داریم تا دوباره مقدایر رو مساوی متغیر قرار بدیم . برای این کار تابع json_decode وجود داره .
ساختار :

json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )

که اگر بخوایم رشته ای که تولید کردیم رو دیکود کنیم . میشه :


<?php$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';


var_dump(json_decode($json));
var_dump(json_decode($json, true));


?>

خروجی :

object(stdClass)#1 (5) { ["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}


array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}

در صورتی که مقدار assoc مساوی true باشه مقادیر بصورت آرایه در میان که خیلی خوبه :دی


همین در توانایی من بود . اگر ناقص بود عذر میخوام .
موفق باشید .

PHP: json_decode - Manual (http://www.php.net/manual/en/function.json-decode.php)
PHP: json_encode - Manual (http://php.net/manual/en/function.json-encode.php)

parsspace
July 11th, 2012, 02:13
توضیحات دقیقتر بخوام بدم اینه که الان با به وجود اومدن تکنولوژی های جدید مانند ajax‌ نیاز به تبدیل و انتقال اطلاعات از زبان های سمت سرور مانند php‌و java‌و غیره به javascript‌و بالعکس خیلی زیاد شده. ۲ تابع نام برده شده جهت این تبدیل استفاده میشه. تابع اول آرایه ای از اطلاعات به زبان php‌رو دریافت میکنه و معادل اون به javascript‌رو تولید میکنه و تابع دوم هم برعکس عمل میکنه یعنی یک آرایه به زبان جاوااسکریپت رو دریافت و اونو تبدیل به آرایه ای به زبان PHP‌میکنه.
در مورد اینکه این توابع بتونن اشیائ رو هم تبدیل کنن شک دارم و مطمئن نیستم.

amirlord
August 12th, 2012, 02:36
سلام
امروز یه تابع کاربردی رو معرفی میکنم .
اسم تابع array_walk هست . وقتی ما میخوایم همه ی متغیر های یک آرایه رو روی یک تابع اجرا کنیم برای سرعت در کد نویسی از این تابع استفاده میکنیم .
ساختار تابع :

bool array_walk ( array &$array , callable $funcname [, mixed $userdata = NULL ] )

متغیر اول آرایه ی خودمون رو می نویسیم .
متغیر دوم اسم تابعی که قبلا تعریف شده و برای اجرا نیاز داریم .

مثال :

<?php

function myfunction($value,$key)
{
echo "The key $key has the value $value<br />";
}
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
array_walk($a,"myfunction");
?>

PHP: array_walk - Manual (http://php.net/manual/en/function.array-walk.php)
PHP array_walk() Function (http://www.w3schools.com/php/func_array_walk.asp)

سعی میکنم یه سری به کلاس ها بزنیم و چند تا از کاربردی ترین هاش رو معرفی کنم .

alireza.076
June 3rd, 2013, 20:58
سلامی دوباره
خوب امروز یه نگاه سریع به شیوه اتصال به SSH2 توسط PHP داریم .
برای ارتباط با پورت SSH سرور از ساختار تابع زیر استفاده میکنیم :

ssh2_connect ( string $host [, int $port = 22 [, array $methods [, array $callbacks ]]] )
که :

ssh2_connect('shell.example.com', 22);
خوب برای اتصال با یک یوزر خاص نیز از تابع زیر استفاده میکنیم :

ssh2_auth_password ( resource $session , string $username , string $password )
که :

ssh2_auth_password($test, 'username', 'password');

تابع ssh2_connect رو توی یه متغیر مثلا test قرار میدیم و در تابع ssh2_auth_password متغیر اولی رو همون متغیر کانکنت سرور که test بود رو قرار میدیم .

مثال :


$test = ssh2_connect('127.0.0.1', 22);
ssh2_auth_password($test, 'username', 'password');

خوب تا به اینجا به سرور متصل شدیم و الان نوبت این رسیده که از تابع ssh2_exec برای ارسال دستورات ( CMD ) استفاده کنیم ...
ساختار تابع :

ssh2_exec ( resource $session , string $command [, string $pty [, array $env [, int $width = 80 [, int $height = 25 [, int $width_height_type = SSH2_TERM_UNIT_CHARS ]]]]] )


از متغیر دوم میتونید برای CMD های خودتون استفاده کنید. ( که میتونید داخل Array نیز قرار بدید )
مثال :

$test = ssh2_connect('127.0.0.1', 22);
ssh2_auth_password($test, 'username', 'password');
$raminfo = ssh2_exec($test, 'cat /proc/meminfo');
تشریح :
خط 1 : از تابع ssh2_connect برای اتصال به سرور استفاده کردیم .
خط 2 : از تابع ssh2_auth_password برای اتصال به ssh با یک یوزر خاص استفاده کردیم .
خط 3 : با استفاده از تابع ssh2_exec برای ارسال دستورات استفاده کردیم . ( داخل متغیر قرار گرفته ! )

امیدوارم مفید واقع شده باشه . فعلا

ببخشید که پست قدیمی رو بالا آوردم
با تشکر اما میخواستم سوال کنم که این روشش برای اتصال به شل مجازی ساز جواب نمیده، چه راهی میتونم استفاده کنم؟

amirlord
October 11th, 2013, 01:57
ببخشید که پست قدیمی رو بالا آوردم
با تشکر اما میخواستم سوال کنم که این روشش برای اتصال به شل مجازی ساز جواب نمیده، چه راهی میتونم استفاده کنم؟
سلام
من ندیده بودم پست شمارو عذر میخوام .
ssh فرقی نداره روی چی باشه یکیه . مطمئن بشید از سمت سرور کتابخانه ی SSH2 نصب باشه . بهرحال نمیشه روی هوا گفت مشکل از کجاست .

amirlord
October 11th, 2013, 02:02
سلام
امروز یک تابع بسیار بسیار کاربردی و جالب رو آماده کردم براتون .
شاید براتون پیش اومده باشه که یک صفحه پر از لینک دارید و براحتی نمیشه همه رو با هم کپی کرد و بصورت batch در IDM یا ... دانلود کرد . یا مثلا سایت های دانلود که به یک صفحه بدون ایندکس ری دایرکت میشید و مثلا میخواید همه رو با هم دانلود کنید .
از تابع زیر استفاده کنید :



function GetLinks ($link ,$username = NULL ,$password = NULL ,$protocol = 'http') { if (!is_null($username) AND !is_null($password)) { $html = file_get_contents($protocol."://$username:$password@$link"); $dom = new DOMDocument(); @$dom->loadHTML($html); $xpath = new DOMXPath($dom); $hrefs = $xpath->evaluate("/html/body//a"); for ($i = 0; $i < $hrefs->length; $i++) { $href = $hrefs->item($i); $url = $href->getAttribute('href'); echo $protocol.'://'.$url.'<br />'; } } }



در نتیجه اگر مسیر لینک های دانلود نشون داده نشده بودند خط

echo $protocol.'://'.$url.'<br />';
به

echo $protocol.'://'.$link.$url.'<br />';
تغییر بدید .
امیدوارم این تابع بتونه کمکی به شما کرده باشه .

fanix
October 11th, 2013, 02:37
سلام
امروز با استفاده از سایت OnlineCurrency - قیمت لحظه ای طلا سکه ارز فلزات (http://onlinecurrency.ir/) یک تابع می نویسیم که تیبل چند ارز مهم و قیمت سکه روز رو نشون میده .
سورس ما اینجاست : OnlineCurrency - قیمت لحظه‌ای طلا سکه ارز فلزات (http://onlinecurrency.ir/widget/widget.php)
مثل پست های قبلی عمل میکنیم .


موفق باشید / امیر

اگر بخوایم همین اطلاعات رو توی sql ذخیره کنیم چطوری هست؟

چطور میشه به صورت نمودار نشون داد؟

چطور میشه نشون داد که نسبت به قیمت روز قبل افزایش داشته یا کاهش؟

amirlord
October 26th, 2013, 18:26
اگر بخوایم همین اطلاعات رو توی sql ذخیره کنیم چطوری هست؟

چطور میشه به صورت نمودار نشون داد؟

چطور میشه نشون داد که نسبت به قیمت روز قبل افزایش داشته یا کاهش؟
خوب اول باید داده هارو ببریم تو متغیر که بعضی اوقات میتونه خیلی دشوار باشه .
شما باید با توابعی که من معرفی کردم و بقیه توابع داده هارو ببرید داخل متغیر ( عدد هارو از کد های html جدا کنید ) بعد ایمپورت کنید توی دیتابیس .
داده ها که برده بشن به دیتابیس نمایش نمودار و آنالیز این ها خیلی آسون میشه و میتونید از مثال های داخل نت استفاده کنید. ( گوگل کنید )

fanix
October 26th, 2013, 18:29
خوب اول باید داده هارو ببریم تو متغیر که بعضی اوقات میتونه خیلی دشوار باشه .
شما باید با توابعی که من معرفی کردم و بقیه توابع داده هارو ببرید داخل متغیر ( عدد هارو از کد های html جدا کنید ) بعد ایمپورت کنید توی دیتابیس .
داده ها که برده بشن به دیتابیس نمایش نمودار و آنالیز این ها خیلی آسون میشه و میتونید از مثال های داخل نت استفاده کنید. ( گوگل کنید )

خیلی ممنون از راهنمایی جامعتون

اگه بخوام نشون بدم که این قیمت مثلا دلار نسبت به دیروز کاهش یا افزایش داشته چطور هست؟ (توی سایت ها با فلش های مثلث و قرمز نشون میدن)

amirlord
October 26th, 2013, 18:46
خیلی ممنون از راهنمایی جامعتون

اگه بخوام نشون بدم که این قیمت مثلا دلار نسبت به دیروز کاهش یا افزایش داشته چطور هست؟ (توی سایت ها با فلش های مثلث و قرمز نشون میدن)
قیمت دلار امروز و دیروز رو از دیتابیس در میارید و if میزنید که < هست یا > !

مسابق
November 7th, 2013, 10:05
سلام بچه ها این وب سایت رو با چه برنامه ای نوشتن ؟ مسابقه - صفحه اصلی (http://www.mosabegh.com)

fanix
November 7th, 2013, 11:00
سلام بچه ها این وب سایت رو با چه برنامه ای نوشتن ؟ مسابقه - صفحه اصلی (http://www.mosabegh.com)

جوملا

tarenoco
January 15th, 2014, 15:16
سلام میشه در مورد کلاس phpmailer توضیح بدید

amirlord
February 1st, 2014, 20:17
سلام میشه در مورد کلاس phpmailer توضیح بدید
عذر میخوام بابت تاخیر ؛
این کلاس معروف هست و مطمئنا سایت های زیادی توضیح ـش رو بصورت کامل و زیبا ارائه دادن . لینک های زیر رو امتحان کنید :
وبگو | ارسال ایمیل با php و کلاس phpmailer (http://webgoo.ir/109/%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D8%A7%DB%8C%D9%85%DB%8C%D9%84-%D8%A8%D8%A7-php-%D9%88-%DA%A9%D9%84%D8%A7%D8%B3-phpmailer)
ارسال ایمیل|php|ارسال ایمیل با PHP|کلاس phpmailer|پی اچ پی | مرجع تخصصی فیلم آموزش فارسی برنامه نویسی _ لــــــرن فایلز دات کام (http://learnfiles.com/%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D8%A7%DB%8C%D9%85%DB%8C%D9%84-%D8%AF%D8%B1-php-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%DA%A9%D9%84%D8%A7.html)

امیدوارم مفید واقع شده باشند .

tarenoco
February 2nd, 2014, 10:42
من الان تو یه قسمتی از سایتم از این کد استفاده کردم همه چیز خوب و عالی هست
فقط اینکه وقتی کسی ایمیلشو میزه فایلی که من ضمیمه کردم براش ارسال میشه ولی به صفحه ای قرارداشت بر نمیگرده از یه کد redirect که بصورت html بود استفاده کردم الام مشکلم کامل حل شده ولی یکی از دوستام گفت که چون صفحه تو کمتر از 60 ثانیه refresh میشه گوگل براش امتیاز منفی ثبت میکنه
میشه کمکک کنید

mr-programer
February 2nd, 2014, 12:17
اگه بعد از ارسال پیام به لینک مخصوصی هدایت میشه مثلا :

قبل ارسال پیام :
yoursite.com/contact

بعد از ارسال پیام :
yoursite.com/contact/sucsefual

میتونید لینک دوم رو به عنوان ریدایرکت 301 به گوگل معرفی کنید ( از طریق پنل گوگ وبمسترزتون ) و بعد کد ریدایرکت رو تو اون بزارید .

البته من فکر نمیکنم ریدایرکت مشکلی داشته باشه ( البته اطلاع زیادی ندارم دوستان ماهر تر میتونن راهنماییکنن )

viyona
July 11th, 2014, 14:35
چه طوري ميتونم اسكريپتي بنويسم- كه هر چند دقيقه يكبار آپتايم سايت را چك كنه؟ چه توابعي لازم هست؟

djmohammad
July 19th, 2014, 02:54
چه طوري ميتونم اسكريپتي بنويسم- كه هر چند دقيقه يكبار آپتايم سايت را چك كنه؟ چه توابعي لازم هست؟

در صورتی که خواستار این سرویس هستید به تاپیک زیر مراجعه کنید

http://www.webhostingtalk.ir/f235/117286/index2.html

shandiz
August 8th, 2014, 12:36
دوستان یه سوال دارم شاید خارج از این بحث باشه.با php توسط چه دستوری میتونیم بگیم اعداد داخل تیبل x رو از 2 به 1.9 به فرض کاهش بدیم؟