410
uDesign
#1
Salom do`stlar bu mavzuda o`zim yozgan foydali ko`dlarni joylab boraman!

Bazilari tekin bazilari pullik bo`lishi mumkin.
Rejalarim ko`p bir chekadan boshlayman!

Bu mavzuda faqat o`zim yozgan ko`dlar qo`shiladi boshqalarnikimas!
OffTop bo`lmasin!
BlackCat
#2
bita savol kodlar johncms gami yoki lyuboyiga eshik ochiqmi
410
uDesign
#3
Demak 1 - sizlar uchun foydali ko`d Tekinga
Bu kod orqali saytingiz foydalanuvchilarining aniq geo manzilini aniqlab olasiz yani IP manzili orqali davlat, shahar, Kenglik, Uzunlik va Soat mintaqasini bilib olishingiz mumkin bo`ladi.
Ishlatish:

1) faqat shaharni chiqarish uchun
  1. <script type="text/javascript" charset="utf-8" src="http://liverpul.uz/udesign/js.php?act=shahri&ipud=37.110.215.112"></script>

ipud dan keyin saytingiz foydalanuvchilarining IP manzili yozilishi kerak!
2) faqat Davlat ko`dini chiqarish uchun
  1. <script type="text/javascript" charset="utf-8" src="http://liverpul.uz/udesign/js.php?act=davlat&ipud=37.110.215.112"></script>

ipud dan keyin saytingiz foydalanuvchilarining IP manzili yozilishi kerak!
3) faqat Kenglik va Uzunlik ko`dini chiqarish uchun
  1. <script type="text/javascript" charset="utf-8" src="http://liverpul.uz/udesign/js.php?act=kn_uzn&ipud=37.110.215.112"></script>

ipud dan keyin saytingiz foydalanuvchilarining IP manzili yozilishi kerak!
4) faqat Soat mintaqasi ko`dini chiqarish uchun
  1. <script type="text/javascript" charset="utf-8" src="http://liverpul.uz/udesign/js.php?act=st_mint&ipud=37.110.215.112"></script>

ipud dan keyin saytingiz foydalanuvchilarining IP manzili yozilishi kerak!
5) Tepadagi hamma ma`lumotni chiqarish uchun
  1. <script type="text/javascript" charset="utf-8" src="http://liverpul.uz/udesign/js.php?act=default&ipud=37.110.215.112"></script>

ipud dan keyin saytingiz foydalanuvchilarining IP manzili yozilishi kerak!

Bu ko`dlar test rejimda 100% hammanikini ko`rsatadi deb ham aytolmiman. Faqat bazada bor IP manzillarnigina ko`rsatida Xato ko`rsatishiyam mumkin.
410
uDesign
#4
#3 postdagi lyuboy cms ga ketadi chunki bu odiy js ko`d
Johncms ga moslashtirish uchun
bazaga sql ko`dni zalit qilasiz
  1. ALTER TABLE `users` ADD `ip_ud` text NOT NULL;

include/core.php faylga pastdagi ko`dni yozasiz
  1. if(empty($datauser['ip_ud'])){
  2. mysql_query("UPDATE `users` SET
  3. `ip_ud` = '" . $_SERVER['REMOTE_ADDR'] . "'
  4. where `id` = '$user_id'
  5. ") or die(mysql_error());
  6. }else{
  7. if($datauser['ip_ud'] != $_SERVER['REMOTE_ADDR']){
  8. mysql_query("UPDATE `users` SET
  9. `ip_ud` = '" . $_SERVER['REMOTE_ADDR'] . "'
  10. where `id` = '$user_id'
  11. ") or die(mysql_error());
  12. }
  13. }

va #3 postdagi kerakli js ko`dni kerakli joyda qo`yasiz faqat oxiridagi ipud dan keyingi malumotni o`zgartirasiz
Namuna:
/users/profile.php ga qo`ymoqchi bo`lsangiz
  1. ?><script type="text/javascript" charset="utf-8" src="http://liverpul.uz/udesign/js.php?act=default&ipud=<?php $user['ip_ud']"></script><?php

qilasiz
SnipeR
#5
Aka yuklamalardagi o'xshash fayllarni chiqaradigan kodni xam yozib bering ko'ochlikka kerak
Nodirali
#6
Mavzuda davom etamizmi?
410
uDesign
#7
Salom uzur ishlar ko`payib keti vaqt bo`lmadi demak davom qilamiz.

Demak bu ko`dimiz orqali rasmlarni data URL orqali maskirovka qilamiz.
Ishlatish odiy url= dan keyin rasm manzilini yozasiz bo`ldi.
Rasmni style sini o`zgartirmoqchi bo`lsangiz ud_data class orqali qilishingiz mumkin.
  1. <script type="text/javascript" charset="utf-8" src="http://u-koder.ru/foydali/data_img.php?url=http://sayt.uz/rasm.png"></script>
410
uDesign
#8
Bazaga yoziladigan malumotlarni filtrlash va tekshirish.

  1. function cleanInput($input) {
  2.  
  3. $search = array(
  4. '@<script[^>]*?>.*?</script>@si', // javascript kodlarni o`chiramiz
  5. '@<;[\/\!]*?[^<>]*?>@si', // HTML teglarni o`chiramiz
  6. '@<style[^>]*?>.*?</style>@siU', // css style teglarni o`chiramiz
  7. '@<![\s\S]*?--[ \t\n\r]*>@' // Ko`p qatarli komentarilarni o`chiramiz
  8. );
  9.  
  10. $output = preg_replace($search, '', $input);
  11. return $output;
  12. }
  13.  
  14. function sanitize($input) {
  15. if (is_array($input)) {
  16. foreach($input as $var=>$val) {
  17. $output[$var] = sanitize($val);
  18. }
  19. }
  20. else {
  21. $input = stripslashes($input);
  22. }
  23. $input = cleanInput($input);
  24. $output = mysql_real_escape_string($input);
  25. }
  26. return $output;
  27. }
  28.  
  29. // Ishlatish:
  30. $bad_string = "Salom. <script src='http://sayt.uz/script.js'></script> Bugun kun zo`r!";
  31. $good_string = sanitize($bad_string);
  32. /*
  33. $good_string chiqaradi: "Salom. Bugun kun zo`r!" bu yerda <script ko`di kesib tashlanadi va keyin bazaga yoziladi
  34. */
  35. /*
  36. Undan tashqari $_GET[] va $_POST[] larni tekshirsangiz bo`ladi.
  37. */
  38. $_POST = sanitize($_POST);
  39. $_GET = sanitize($_GET);
MrShahzodbek
#9
uDesign, Bazaga sonlarni yozishda butun (nuqta)dan keyingi raqamlar soniga cheklov qo'yish mumkinmi?

Masalan, maksimal 3ta raqamni olishi kerak butundan keyin. Ya'ni 1.003 kabi. 1.0036569ga ruxsat bermasligi kerak.
410
uDesign
#10
MrShahzodbek, Buni yo`li ko`p masalan

  1. $test = '123.1234';
  2. echo number_format($test, 3, ',', ' '); // 123.123
  3. echo round(123.987654,3); // 123.988
  4. echo round(123, 3); // 123
  5. echo round(3.4); // 3
  6. echo round(3.5); // 4
  7. echo round(3.6); // 4
  8. echo round(3.6, 0); // 4
  9. echo round(1.95583, 2); // 1.96
  10. echo round(1241757, -3); // 1242000
  11. echo round(5.045, 2); // 5.05
  12. echo round(5.055, 2); // 5.06
  13. echo round(9.5, 0, PHP_ROUND_HALF_UP); // 10
  14. echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9
  15. echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10
  16. echo round(9.5, 0, PHP_ROUND_HALF_ODD); // 9
  17. echo round(8.5, 0, PHP_ROUND_HALF_UP); // 9
  18. echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8
  19. echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8
  20. echo round(8.5, 0, PHP_ROUND_HALF_ODD); // 9
  21. echo bcdiv(2.56789, 1, 1); // 2.5
  22. echo bcdiv(2.56789, 1, 2); // 2.56
  23. echo bcdiv(2.56789, 1, 3); // 2.567
  24. echo bcdiv(-2.56789, 1, 1); // -2.5
  25. echo bcdiv(-2.56789, 1, 2); // -2.56
  26. echo bcdiv(-2.56789, 1, 3); // -2.567
410
uDesign
#11
Demak yana bir Xak johncms uchun hohlagan cms siga moslasangiz bo`ladi!

screni qarasangiz hak haqida ma`lumot bor chunarli qilib ko`rsatkanman.
Narxi: 200 rubl yoki 30 000 so`m plastika paynetga ham.
Java OS telarda 100% ishlamasligi mumkin!
Biriktirilgan fayllar [2]:
 komp.png (14.99 KB) (198 ↴)
 tel.png (12.8 KB) (185 ↴)
NoProblem
#12
Bir yaxshi mavzuda davom etaylik
Akbarali
#13
uDesign, JohnCmS 7dagi BBcodeku bu
410
uDesign
#14
Salom do`stlar demak yana 1 ta foydali ko`d sizlar uchun.
Bu kod mp3 fayl ma`lumotlarini aniqlab beradi.
Yani saytingizdagi mp3 fayl manzilini yozsangiz
mp3 nomi, artis, vaqti, hajmi, album, year, comment, track, genreno, version va hokozo.
CLASS ko`di fayl nomi getMP3info.php
  1. <?php
  2. # getMP3info.php
  3.  
  4. // ===== Получение информации о mp3-файле ======================================
  5. function getMP3data($filename) {
  6. $ret = array();
  7. $ret['filename'] = $filename;
  8. if (!@$f = fopen($filename, 'rb')) {
  9. $ret['error'] = 'Error opening file.';
  10. return $ret;
  11. }
  12. // Определение ID3 тегов
  13. if ($s = getID3v1($filename)) { $ret['id3v1'] = $s; }
  14. if ($s = getID3v2($filename)) { $ret['id3v2'] = $s; }
  15.  
  16. // Если есть id3v2 тег, то перед поиском mp3 фрейма сдвигаем указатель файла за id3v2 тег
  17. if ($ret['id3v2']['size']) { fseek($f, $ret['id3v2']['size'] + 10); }
  18.  
  19. // Ищем mp3 фрейм. - 11111111-11111111-1111111? (0xFFF(E))
  20. do {
  21. while (fread($f, 1) != chr(255)) {
  22. if (feof($f)) {
  23. $ret['error'] = 'MP3 frame not found.';
  24. return $ret;
  25. }
  26. }
  27. $s = fread($f, 3);
  28. $header = sprintf('%08b%08b%08b%08b', 255, ord($s[0]), ord($s[1]), ord($s[2]));
  29. } while ($header[0] != 1 && $header[1] != 1 && $header[2] != 1) ;
  30.  
  31. // Нашли первый mp3 фрейм. Читаем информацию
  32. if ($header[11] == 0) {
  33. $ret['id'] == 'MPEG-2.5';
  34. } else {
  35. if ($header[12] == 1) { $ret['id'] = 'MPEG-1'; } else { $ret['id'] = 'MPEG-2'; }
  36. }
  37.  
  38. $layers = array(
  39. array(0, 3),
  40. array(2, 1)
  41. );
  42.  
  43. $ret['layer'] = $layers[$header[13]][$header[14]];
  44.  
  45. if ($header[15] == 0) {$ret['protect_CRC'] = true; }
  46.  
  47. $bitrates['MPEG-1'] = array(
  48. 1 => array(0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448),// MPEG-1 Layer I
  49. 2 => array(0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384),// MPEG-1 Layer II
  50. 3 => array(0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320) // MPEG-1 Layer III
  51. );
  52. $bitrates['MPEG-2'] = array(
  53. 1 => array(0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448),// MPEG-2 Layer I
  54. 2 => array(0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384),// MPEG-2 Layer II
  55. 3 => array(0, 8, 16, 24, 32, 64, 80, 56, 64, 128, 160, 112, 128, 256, 320) // MPEG-2 Layer III
  56. );
  57. $bitrates['MPEG-2.5'] = array(
  58. 1 => array(0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256, 0),// MPEG-2.5 Layer I
  59. 2 => array(0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 0),// MPEG-2.5 Layer II
  60. 3 => array(0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 0) // MPEG-2.5 Layer III
  61. );
  62.  
  63. $ret['bitrate'] = $bitrates[$ret['id']][$ret['layer']][bindec($header[16].$header[17].$header[18].$header[19])];
  64.  
  65. $frequency = array(
  66. 'MPEG-1' => array(
  67. '0' => array(44100, 48000),
  68. '1' => array(32000, 0),
  69. ),
  70. 'MPEG-2' => array(
  71. '0' => array(22050, 24000),
  72. '1' => array(16000, 0),
  73. ),
  74. 'MPEG-2.5' => array(
  75. '0' => array(11025, 12000),
  76. '1' => array(8000, 0),
  77. ),
  78. );
  79. $ret['frequency'] = $frequency[$ret['id']][$header[20]][$header[21]];
  80. $ret['padding'] = $header[22];
  81.  
  82. $samplesPerFrame = array(
  83. 'MPEG-1' => array(1 => 384, 2 => 1152, 3 => 1152),
  84. 'MPEG-2' => array(1 => 384, 2 => 1152, 3 => 576),
  85. 'MPEG-2.5' => array(1 => 384, 2 => 1152, 3 => 576)
  86. );
  87.  
  88. $modes = array(
  89. 0 => array('Stereo', 'Joint stereo'),
  90. 1 => array('Dual channel', 'Mono')
  91. );
  92.  
  93. $ret['mode'] = $modes[$header[24]][$header[25]];
  94. // Если режим = Joint Stereo
  95. if ($header[24] == 0 && $header[25] == 1) {
  96. $ret['Intensity stereo'] = $header[26];
  97. $ret['MS stereo'] = $header[27];
  98. }
  99.  
  100. $ret['Copyrighted'] = $header[28];
  101. $ret['Original'] = $header[29];
  102.  
  103. $emphasises = array(
  104. 0 => array('None', '50/15ms'),
  105. 1 => array('', 'CCITT j.17')
  106. );
  107.  
  108. $ret['Emphasis'] = $emphasises[$header[30]][$header[31]];
  109. // =============================================================================
  110. if ($ret['Mode'] != 'Mono' && $ret['id'] == 'MPEG-1') { $offset = 32; }
  111. else if ($ret['Mode'] == 'Mono' && $ret['id'] == 'MPEG-1') { $offset = 17; }
  112. else if ($ret['Mode'] == 'Mono' && ($ret['id'] == 'MPEG-2' || $ret['id'] == 'MPEG-2.5')) { $offset = 9; }
  113. else { $offset = 17; }
  114.  
  115. fseek($f, $offset, SEEK_CUR);
  116. $s = fread($f, 38);
  117.  
  118. if (substr($s, 0, 4) == 'VBRI') {
  119. $ret['bitrate_mode'] = 'VBR';
  120. $ret['VBR_header'] = 'VBRI';
  121. $numberOfFrames = bindec(sprintf('%08b%08b%08b%08b', ord($s[14]),ord($s[15]),ord($s[16]),ord($s[17])));
  122. $ret['nof'] = $numberOfFrames;
  123. $duration = floor($numberOfFrames * $samplesPerFrame[$ret['id']][$ret['layer']] / $ret['frequency']);
  124. } else
  125. if (substr($s, 0, 4) == 'Xing') {
  126. $ret['bitrate_mode'] = 'VBR';
  127. $ret['VBR_header'] = 'Xing';
  128.  
  129.  
  130. $numberOfFrames = bindec(sprintf('%08b%08b%08b%08b', ord($s[8]),ord($s[9]),ord($s[10]),ord($s[11])));
  131. $duration = floor($numberOfFrames * $samplesPerFrame[$ret['id']][$ret['layer']] / $ret['frequency']);
  132. } else {
  133. $ret['bitrate_mode'] = 'CBR';
  134. $datasize = filesize($filename);
  135. if ($ret['id3v1']) { $datasize -= 128; }
  136. if ($ret['id3v2']) { $datasize -= $ret['id3v2']['size'] - 10; }
  137. $duration = floor($datasize / ($ret['bitrate'] * 1000) * 8);
  138. }
  139.  
  140. $ret['duration_str'] = sprintf('%02d:%02d',floor($duration/60),floor($duration-(floor($duration/60)*60)));
  141. $ret['duration_str_hour'] = sprintf('%02d:%02d:%02d',floor($duration/3600),floor($duration/60),floor($duration -(floor($duration/60)*60)));
  142. $ret['diration']= (int)$duration;
  143.  
  144. fclose($f);
  145. return $ret;
  146. }
  147. // ===== Получение информации о ID3v2 тегах ====================================
  148. function getID3v2($filename) {
  149. $ret = array();
  150. if (!@$f = fopen($filename, 'rb')) {
  151. $ret['error'] = 'Error opening file.';
  152. return $ret;
  153. }
  154.  
  155. $header = fread($f, 10);
  156. $header = @unpack("a3signature/c1version_major/c1version_minor/c1flags/Nsize", $header);
  157. if ($header['signature'] != 'ID3') {
  158. fclose($f);
  159. return false;
  160. }
  161. $ret['version'] = $header['version_major']. '.' .$header['version_minor'];
  162. $bsize = sprintf('%032b', $header['size']);
  163. $ret['size'] = bindec(substr($bsize, 1, 7).substr($bsize, 9, 7).substr($bsize, 17, 7).substr($bsize, 25, 7));
  164.  
  165. fclose($f);
  166. return $ret;
  167. }
  168. // ===== Получение информации о ID3v1 тегах ====================================
  169. function getID3v1($filename) {
  170. $ret = array();
  171. $f = fopen($filename, 'rb');
  172. if (!@$f = fopen($filename, 'rb')) {
  173. $ret['error'] = 'Error opening file.';
  174. return $ret;
  175. }
  176. fseek($f, -128, SEEK_END);
  177. $s = fread($f,128);
  178. if ($s[125] == chr(0) && $s[126] != chr(0)) {
  179. // ID3v1.1
  180. $format = 'a3tag/a30name/a30artists/a30album/a4year/a28comment/x1/c1track/c1genreno';
  181. } else {
  182. // ID3v1.0
  183. $format = 'a3tag/a30name/a30artists/a30album/a4year/a30comment/c1genreno';
  184. }
  185.  
  186. $ret = unpack($format, $s);
  187.  
  188. fclose($f);
  189. if ($ret['tag'] == 'TAG') { return $ret; }
  190. return false;
  191. }
  192.  
  193. ?>

ishlatish kodi
  1. <?php
  2. include('getMP3info.php');
  3. echo '<pre>';
  4. $info = getMP3data('music.mp3');// mp3 manzili
  5. print_r($info);
  6. echo '</pre>';
  7. // kerakli joyga pasdagi ko`dni qo`yamiz
  8. echo 'Albom: '.$info['id3v1']['album'].'<br>';
  9. echo 'Bitreyt: '.$info['bitrate'];
  10. ?>


Natija
  1. Array
  2. (
  3. [filename] => music.mp3
  4. [id3v1] => Array
  5. (
  6. [tag] => TAG
  7. [name] => Rapture (Avicii New Generation
  8. [artists] => Nadia Ali
  9. [album] => Rapture
  10. [year] => 2010
  11. [comment] =>
  12. [track] => 1
  13. [genreno] => 31
  14. )
  15.  
  16. [id3v2] => Array
  17. (
  18. [version] => 3.0
  19. [size] => 2518
  20. )
  21.  
  22. [id] => MPEG-1
  23. [layer] => 3
  24. [bitrate] => 320
  25. [frequency] => 44100
  26. [padding] => 0
  27. [mode] => Joint stereo
  28. [Intensity stereo] => 0
  29. [MS stereo] => 0
  30. [Copyrighted] => 0
  31. [Original] => 1
  32. [Emphasis] => None
  33. [bitrate_mode] => CBR
  34. [duration_str] => 03:41
  35. [duration_str_hour] => 00:03:41
  36. [diration] => 221
  37. )
  38. Albom: Rapture
  39. Bitreyt: 320
33
Tayota
#15
Malol kelmasa, ködlarni ziplab ham yuklasangiz. Javada copy qilish, juda qiyin bölyapdi.
gi8ri7
#16
ATOYAT, https://uzfor.uz/view.php?act=txt&id=40156
33
Tayota
#17
Master-X, Javada matnni textareada körish maximal 5000ta copy qilish adashmasam 2000 yoki 2500ta bu köd 5000tadan ham köp ekan. Shuning uchun ham mavzuga ziplab yuklang deb. yozgan edim:-)
Akbarali
#18
Ziplangani javda bo'lgani uchun qatorlashni ham copy qilib olibdi.
Biriktirilgan fayllar [1]:
 kod.zip (3.66 KB) (116 ↴)
1135
End
#19
ATOYAT, # ATOYAT (12.10.2018 / 20:53)
Master-X, Javada matnni textareada körish maximal 5000ta copy qilish adashmasam 2000 yoki 2500ta bu köd 5000tadan ham köp ekan. Shuning uchun ham mavzuga ziplab yuklang deb. yozgan edim:-)
UcBrowserda ishlasayiz turgan sahifangizdagi matnlarni copy qilsayiz bo'ladi. (nafaqat textarea) . Chegarasi bufer bo'sh bo'lsa aancha bo'ladi.
gi8ri7
#20
ATOYAT, Bo'lib bo'lib arxivladim
56 soniyadan keyin yozdi:
Iye ziplab bo'lishibdi-ku
Biriktirilgan fayllar [1]:
 post_40156.zip (3.12 KB) (116 ↴)

Kunduzi: 29°C

23 Apr 2024 yil
Joylashuv aniqlanmadi