برگزیده های پرشین تولز

تکه کد های پی اچ پی (Code Snippets)

soroush_tayyebi

Registered User
تاریخ عضویت
15 می 2009
نوشته‌ها
513
لایک‌ها
110
سن
32
محل سکونت
Tehran
با کردن فایل tar با PHP
PHP:
< ?php
 
function untar($tarfile,$outdir=\"./\",$chmod=null) {
$TarSize = filesize($tarfile);
$TarSizeEnd = $TarSize - 1024;
if($outdir!=\"\"&&!file_exists($outdir)) {
    mkdir($outdir,0777); }
$thandle = fopen($tarfile, \"r\");
while (ftell($thandle)<$TarSizeEnd) {
    $FileName = $outdir.trim(fread($thandle,100));
    $FileMode = trim(fread($thandle,8));
    if($chmod===null) {
        $FileCHMOD = octdec(\"0\".substr($FileMode,-3)); }
    if($chmod!==null) {
        $FileCHMOD = $chmod; }
    $OwnerID = trim(fread($thandle,8));
    $GroupID = trim(fread($thandle,8));
    $FileSize = octdec(trim(fread($thandle,12)));
    $LastEdit = trim(fread($thandle,12));
    $Checksum = trim(fread($thandle,8));
    $FileType = trim(fread($thandle,1));
    $LinkedFile = trim(fread($thandle,100));
    fseek($thandle,255,SEEK_CUR);
    if($FileType==\"0\") {
        $FileContent = fread($thandle,$FileSize); }
    if($FileType==\"1\") {
        $FileContent = null; }
    if($FileType==\"2\") {
        $FileContent = null; }
    if($FileType==\"5\") {
        $FileContent = null; }
    if($FileType==\"0\") {
        $subhandle = fopen($FileName, \"a+\");
        fwrite($subhandle,$FileContent,$FileSize);
        fclose($subhandle); 
        chmod($FileName,$FileCHMOD); }
    if($FileType==\"1\") {
        link($FileName,$LinkedFile); }
    if($FileType==\"2\") {
        symlink($LinkedFile,$FileName); }
    if($FileType==\"5\") {
        mkdir($FileName,$FileCHMOD); }
    //touch($FileName,$LastEdit);
    if($FileType==\"0\") {
        $CheckSize = 512;
        while ($CheckSize<$FileSize) {
            if($CheckSize<$FileSize) {
            $CheckSize = $CheckSize + 512; } }
        $SeekSize = $CheckSize - $FileSize;
        fseek($thandle,$SeekSize,SEEK_CUR); } }
    fclose($thandle); 
    return true; } 
?>
 

soroush_tayyebi

Registered User
تاریخ عضویت
15 می 2009
نوشته‌ها
513
لایک‌ها
110
سن
32
محل سکونت
Tehran
با استفاده از تکه کد زیر https بودن یا نبودن رو چک کنید.
PHP:
if ($_SERVER['HTTPS'] != "on") { 
    echo "This is not HTTPS";
}else{
    echo "This is HTTPS";
}
 

soroush_tayyebi

Registered User
تاریخ عضویت
15 می 2009
نوشته‌ها
513
لایک‌ها
110
سن
32
محل سکونت
Tehran
کپی کردن یک فایل از آدرس درون هاست (دانلود یک فایل)
PHP:
function copy_file($url,$filename){
   
    $file = fopen($url, "rb");
   
    if(!$file) return false; else {
        $fc = fopen($filename, "wb");
   
        while(!feof($file)) {
            $line = fread($file, 1028);
            fwrite($fc,$line);
        }
   
        fclose($fc);
        return true;
    }
}
 

soroush_tayyebi

Registered User
تاریخ عضویت
15 می 2009
نوشته‌ها
513
لایک‌ها
110
سن
32
محل سکونت
Tehran
با استفاده از کد زیر میتونید Gravatar رو نمایش بدید.

PHP:
function show_gravatar($email, $size, $default, $rating)
{
    echo '<img src="http://www.gravatar.com/avatar.php?gravatar_id='.md5($email).
        '&default='.$default.'&size='.$size.'&rating='.$ra  ting.'" width="'.$size.'px"
        height="'.$size.'px" />';
}
 

phpmastercode

کاربر تازه وارد
تاریخ عضویت
22 سپتامبر 2013
نوشته‌ها
27
لایک‌ها
6
سلام به دوستان گرامی
دوستان فقط یه نکته کوچیک رو بگم که بعضی دوستان به ارورهای پیاپی برخورد نکنن : در بعضی از کدهایی که گفته شده تابع eregi استفاده شده و حتما میدونید که این تابع در
PHP قدیمی شده و نسخه جدیدش باید استفاده بشه وگرنه بالای برنامتون ارور میزنه و بجاش از تابع preg_match استفاده بشه.
امیدوارم برای دوستان مفید باشه.
 

payam-nice

Registered User
تاریخ عضویت
27 دسامبر 2011
نوشته‌ها
3,672
لایک‌ها
3,274
محل سکونت
Tabriz
کپی کردن یک فایل از آدرس درون هاست (دانلود یک فایل)
PHP:
function copy_file($url,$filename){
   
    $file = fopen($url, "rb");
   
    if(!$file) return false; else {
        $fc = fopen($filename, "wb");
   
        while(!feof($file)) {
            $line = fread($file, 1028);
            fwrite($fc,$line);
        }
   
        fclose($fc);
        return true;
    }
}
یعنی با استفاده از این کد ما میتونیم یک فایل رو از یک سایت دیگر به هاست خودمون لیچ کنیم ؟
باتشکر از شما بابت گذاشتن کدها
 

soroush_tayyebi

Registered User
تاریخ عضویت
15 می 2009
نوشته‌ها
513
لایک‌ها
110
سن
32
محل سکونت
Tehran
یعنی با استفاده از این کد ما میتونیم یک فایل رو از یک سایت دیگر به هاست خودمون لیچ کنیم ؟
باتشکر از شما بابت گذاشتن کدها
سلام
سایت رو نه. قالب HTML سایت رو . مثلا اگه سایت وردپرس باشه قالب اون صفحه رو دانلود میکنه براتون ...
سلام کسی هست که کمکم کنه؟؟؟
چه کمکی ؟!
 

ir2sedair

Registered User
تاریخ عضویت
2 مارس 2012
نوشته‌ها
872
لایک‌ها
613
محل سکونت
خاک پاک اصفهون
جستجوی گوگل
گاهی اوقات هست که نمایش نتایج جستجوی گوگل نیاز هست. برای این کار گوگل یک API رایگان ارائه داده، اما محدودیت‌های خاص خودش رو داره.

PHP:
$search_query = 'linux';

$data = file_get_contents('http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=' . $search_query);
$data = json_decode($data);

print 'Google search results for "' . $search_query . ':<hr />';

foreach ($data->responseData->results as $item)
    print 'Title: ' . $item->title . '<br />URL: ' . $item->url . '<br />' . $item->content . '<hr />';

محدودیت‌ها:
در صورت چند request پی‌در‌پی با API بالا ممکن هست به جای نتایج پیامی با محتوای abuse یا suspected دریافت کنید. برای حل این مشکل از قسمت "گوگل کد" و در قسمت API ها لازم هست با گوگل اکانت لاگین کرده و یک key برای استفاده از این API دریافت کنید.
یا این حال با استفاده از key دریافت شده، فقط اجازه‌ی ارسال 100 کوئری در روز وجود داره. برای استفاده‌ی بیشتر لازم هست پرداختی داشته باشید (1000 کوئری 5$).
ممنون حمید جان البته تاپیک قدیمی هست ولی خوب بگم که دوستان بدونن
اتفاقا چند روز پیش خواستم از این روش استفاده کنم
مثل اینکه خروجی که api گوگل میده با چیزی که واقعا هست برابر نیست و تعداد ایندمس ها رو صحیح نمیده
و اگر بخوای مستقیم از صفحه parser کنیم هم اگر تعدا زیاد باشه بلاک میکنه ایپی رو
البته بگم اینی که من گفتم برای تعداد ایندکس ها بود که درست متوجه نشدم ربطی داشت به این api یا خیر
 

atrina avesta

کاربر تازه وارد
تاریخ عضویت
7 می 2014
نوشته‌ها
1
لایک‌ها
0
سن
33
من تازه واردم و تازه هم با کدنویسی php دارم کار می کنم... احتیاج به راهنمایی دارم در مورد سایتی که میخام بسازم
سایت من خیلی ساده ست، طراحی یه فروشگاه اینترنتیه با لینک خرید...
میخام وقتی لینک خرید یک کالا زده میشه (و از اون کالا مثلا 5 تا موجودی دارم) ، تو صفحه ای که باز میکنه بشه 4 تا موجودی .
میشه کمکم کنید؟
 

shareads

Registered User
تاریخ عضویت
11 سپتامبر 2009
نوشته‌ها
685
لایک‌ها
494
من تازه واردم و تازه هم با کدنویسی php دارم کار می کنم... احتیاج به راهنمایی دارم در مورد سایتی که میخام بسازم
سایت من خیلی ساده ست، طراحی یه فروشگاه اینترنتیه با لینک خرید...
میخام وقتی لینک خرید یک کالا زده میشه (و از اون کالا مثلا 5 تا موجودی دارم) ، تو صفحه ای که باز میکنه بشه 4 تا موجودی .
میشه کمکم کنید؟
تازه واردی و میخوای فروشگاه طراحی کنی؟ طراحی فروشگاه در سطح نیمه حرفه ایست!
نمیدونم منظورت چیه؟
خوب اینجوری اگه موجودیت 1 باشه، در صفحه لینک خرید میزنه موجودی صفر! و خریدار فکر می کنه که این کالا موجود نیست!
 

shahrokh4u

Registered User
تاریخ عضویت
18 اکتبر 2012
نوشته‌ها
571
لایک‌ها
408
محل سکونت
Esfahan
من تازه واردم و تازه هم با کدنویسی php دارم کار می کنم... احتیاج به راهنمایی دارم در مورد سایتی که میخام بسازم
سایت من خیلی ساده ست، طراحی یه فروشگاه اینترنتیه با لینک خرید...
میخام وقتی لینک خرید یک کالا زده میشه (و از اون کالا مثلا 5 تا موجودی دارم) ، تو صفحه ای که باز میکنه بشه 4 تا موجودی .
میشه کمکم کنید؟
برای این کار باید فروشگاه را به یک دیتابیس اتصال دهید و و توابع و کوئری های مربوطه رو هنگامی که محصولی خرید میشه لحاظ کنید. برای مثال باید یک شرط بزارید. نمونه کوئری زیر رو ببین
update products set count=count-1 where kala_ID=ID
من اینجا Count رو تعداد جنس مورد نظر در نظر گرفتم _ ینی همون فیلدی که تعداد رو ذخیره میکنه
البته راه درست تر و منطقی تر اینه که توی دیتابیس mysql باید روی اون جدول فاکتور فروش نوشته بشه و خود دیتابیس این کار رو انجام بده و توی کد نویسی این کار انجام نشه
توی این حالت اگه کسی از توی دیتابیس هم عددی رو کم و زیاد کنه و یا با برنامه دیگه ای هم تعداد کم و زیاد بشه اون وقت موجودی درست تنظیم میشه
 

soroush_tayyebi

Registered User
تاریخ عضویت
15 می 2009
نوشته‌ها
513
لایک‌ها
110
سن
32
محل سکونت
Tehran
من تازه واردم و تازه هم با کدنویسی php دارم کار می کنم... احتیاج به راهنمایی دارم در مورد سایتی که میخام بسازم
سایت من خیلی ساده ست، طراحی یه فروشگاه اینترنتیه با لینک خرید...
میخام وقتی لینک خرید یک کالا زده میشه (و از اون کالا مثلا 5 تا موجودی دارم) ، تو صفحه ای که باز میکنه بشه 4 تا موجودی .
میشه کمکم کنید؟
یعنی میخوای ajax بزنی ؟!
در ضمن . دوست من اینجا تکه کد php میزاریم لطفا ، خواهشا تاپیک دیگه ای بزنید برای سوالات ...
 

k.khaledi

کاربر تازه وارد
تاریخ عضویت
9 می 2014
نوشته‌ها
14
لایک‌ها
2
سن
41
آقا سروش اگه میشه یه کد برا لاگ کردن ای پی های بازدید کننده تو فایل تکست بزارید
یکی داشتم کار نکرد فکنم آمادشم باشه مثل extermetracking ولی پیدا نکردم
 

soroush_tayyebi

Registered User
تاریخ عضویت
15 می 2009
نوشته‌ها
513
لایک‌ها
110
سن
32
محل سکونت
Tehran
آقا سروش اگه میشه یه کد برا لاگ کردن ای پی های بازدید کننده تو فایل تکست بزارید
یکی داشتم کار نکرد فکنم آمادشم باشه مثل extermetracking ولی پیدا نکردم
کل بازدید کننده هات رو میخوای لاگ کنی؟‌duplicate برات مهم نیست ؟!
 

soroush_tayyebi

Registered User
تاریخ عضویت
15 می 2009
نوشته‌ها
513
لایک‌ها
110
سن
32
محل سکونت
Tehran
سلام توسط تکه کد زیر می توانید قدرت یک پسورد رو از نظر امنیتی توسط PHP بررسی کنید و نمایش دهید.
PHP:
 < ?php
function password_strength($string){
  $h  = 0;
  $size = strlen($string);
  foreach(count_chars($string, 1) as $v){
  $p = $v / $size;
  $h -= $p * log($p) / log(2);
  }
  $strength = ($h / 4) * 100;
  if($strength > 100){
  $strength = 100;
  }
  return $strength;
}

var_dump(password_strength("Test For Password Data"));
echo "<br />";
var_dump(password_strength("soroush tayyebi Iran"));
echo "<br />";
var_dump(password_strength("Tr0ub4dor&3"));
echo "<br />";
var_dump(password_strength("tinamo123"));
echo "<br />";
var_dump(password_strength("soroush"));
?>
 

amin94z

Registered User
تاریخ عضویت
4 می 2013
نوشته‌ها
849
لایک‌ها
224
محل سکونت
اهواز
تاپیک خوبی بود
کاش ادامه میدادین بازم :general601:
:general601::general601:
 

soroush_tayyebi

Registered User
تاریخ عضویت
15 می 2009
نوشته‌ها
513
لایک‌ها
110
سن
32
محل سکونت
Tehran
یه کد ساده نوشتم برای اتصال و آپلود فایل توسط اف تی پی (FTP) و پی اچ چی (PHP)
PHP:
// FTP access parameters
$host = 'ftp.tinamo.ir';
$usr = 'SomeUsername';
$pwd = 'SomePassword';

// file to move:
$local_file = './soroush.txt';
$ftp_path = '/data/soroush.txt';

// connect to FTP server (port 21)
$conn_id = ftp_connect($host, 21) or die ("Cannot connect to host");

// send access parameters
ftp_login($conn_id, $usr, $pwd) or die("Cannot login");

// turn on passive mode transfers (some servers need this)
// ftp_pasv ($conn_id, true);

// perform file upload
$upload = ftp_put($conn_id, $ftp_path, $local_file, FTP_ASCII);

// check upload status:
print (!$upload) ? 'Cannot upload' : 'Upload complete';
print "\n";

/*
** Chmod the file (just as example)
*/

// If you are using PHP4 then you need to use this code:
// (because the "ftp_chmod" command is just available in PHP5+)
if (!function_exists('ftp_chmod')) {
function ftp_chmod($ftp_stream, $mode, $filename){
return ftp_site($ftp_stream, sprintf('CHMOD %o %s', $mode, $filename));
}
}

// try to chmod the new file to 666 (writeable)
if (ftp_chmod($conn_id, 0666, $ftp_path) !== false) {
print $ftp_path . " chmoded successfully to 666\n";
} else {
print "could not chmod $file\n";
}

// close the FTP stream
ftp_close($conn_id);
 

soroush_tayyebi

Registered User
تاریخ عضویت
15 می 2009
نوشته‌ها
513
لایک‌ها
110
سن
32
محل سکونت
Tehran

اجبار کاربر به دانلود یک فایل با PHP
با سلام
توسط این کد می‌تونید کاربر رو مجبور به دانلود یک فایل داخل صفحه بکنید. البته تو این تکه کد اطلاعات فایل از داخل دیتابیس خوانده می‌شه:
PHP:
<?php
   $filename = $_GET['file']; //Get the fileid from the URL
// Query the file ID
$query = sprintf("SELECT * FROM tableName WHERE id = '%s'",mysql_real_escape_string($filename));
$sql = mysql_query($query);
if(mysql_num_rows($sql) > 0){
    $row = mysql_fetch_array($sql);
    // Set some headers
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
    header("Content-Disposition: attachment; filename=".basename($row['FileName']).";");
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".filesize($row['FileName']));

    @readfile($row['FileName']);
    exit(0);
}else{
    header("Location: /");
    exit;
}
?>
 

shahapaya

کاربر تازه وارد
تاریخ عضویت
14 آگوست 2016
نوشته‌ها
34
لایک‌ها
6
سن
38
بسیار عالی کار میکنه.
 
بالا