كلاس قراءة معلومات ملفات mp3 للتحميل class php read mp3

بواسطة f يوم الخميس، 11 أبريل 2013 القسم : 0 التعليقات
السلام عليكم ورحمة الله وبركاته

كيف تتم قراءة معلومات ملفات الام بي ثري ؟ عنوان الالبوم واسم الفنان وسنه الانتاج وغيرها من التفاصيل  !

في هذا الكلاس البسيط ستتعرف كيف يتم ذلك !

class Id3v2
{
public $error;
private $tags = array(
'TALB' => 'Album',
'TCON' => 'Genre',
'TENC' => 'Encoder',
'TIT2' => 'Title',
'TPE1' => 'Artist',
'TPE2' => 'Ensemble',
'TYER' => 'Year',
'TCOM' => 'Composer',
'TCOP' => 'Copyright',
'TRCK' => 'Track',
'WXXX' => 'URL',
'COMM' => 'Comment'
);
 
private function decTag($tag, $type)
{
//TODO- handling of comments is quite weird
//but I don't know how it is encoded so I will leave the way it is for now
if ($type == 'COMM')
{
$tag = substr($tag, 0, 3) . substr($tag, 10);
}
//mb_convert_encoding is corrupted in some versions of PHP so I use iconv
switch (ord($tag[2]))
{
case 0: //ISO-8859-1
return iconv('UTF-8', 'ISO-8859-1', substr($tag, 3));
case 1: //UTF-16 BOM
return iconv('UTF-16LE', 'UTF-8', substr($tag, 5));
case 2: //UTF-16BE
return iconv('UTF-16BE', 'UTF-8', substr($tag, 5));
case 3: //UTF-8
return substr($tag, 3);
}
return false;
}
public function read($file)
{
$f = fopen($file, 'r');
$header = fread($f, 10);
$header = @unpack("a3signature/c1version_major/c1version_minor/c1flags/Nsize", $header);

        if (!$header['signature'] == 'ID3')
{
$this->error = 'This file does not contain ID3 v2 tag';
fclose($f);
return false;
}

    $result = array();
for ($i=0; $i<22; $i++)
{
$tag = rtrim(fread($f, 6));
if (!isset($this->tags[$tag])) break;
$size = fread($f, 2);
$size = @unpack('n', $size);
$size = $size[1]+2;
$value = fread($f, $size);
$value = $this->decTag($value, $tag);
$result[$this->tags[$tag]] = $value;
}
fclose($f);
  return $result;
}
}



طريقة الاستخدام

نقوم بتضمين ملف الكلاس وتعريفه في متغير
include 'Id3v2.php';

$i = new Id3v2;

يتم قراءة ملف الام بي ثري هكذا
$res = $i->read('music.mp3');

// طباعه الناتج 
print_r($res);



إقرأ البقية

فنكشن php function عرض اسماء جميع الحقول من قاعدة البيانات mysql coloumns

بواسطة f يوم الثلاثاء، 9 أبريل 2013 القسم : 0 التعليقات
فنكشن php function عرض اسماء جميع  الحقول من قاعدة البيانات mysql COLOUMNS

// GET ALL COLOUMNS
function mysql_coloumn($table) { 
     $result = mysql_query("SHOW COLUMNS FROM ". $table); 
      if (!$result) { 
        echo 'Could not run query: ' . mysql_error(); 
      } 
      $fieldnames=array();  
        while ($row = mysql_fetch_assoc($result)) { 
          $fieldnames[] = $row; 
        
      } 

      return $fieldnames; 
}
إقرأ البقية
فنكشن php function عرض جميع الجداول من قاعدة البيانات mysql tabels



// GET ALL TABLES
function mysql_tables($database=''){
    $tables = array();
    $list_tables_sql = "SHOW TABLES FROM {$database};";
    $result = mysql_query($list_tables_sql);
    if($result)
    while($table = mysql_fetch_row($result))
    {
        $tables[] = $table;
    }
    return $tables;
}
إقرأ البقية

شرح كيفية عمل فورم اجاكس بدون اعادة تحميل الصفحه

بواسطة f يوم الأحد، 7 أبريل 2013 القسم : 0 التعليقات

عنوان الدرس :: شرح كيفية عمل فورم اجاكس بدون اعادة تحميل الصفحه



السلام عليكم ورحمة الله و بركاته اخواني لاحظت في الفترة الاخرة تعدد الطلبات على كفية عمل فورم اجاكس وارسال البيانات الى صفحه php اخرى دون اعادة تحميل الصفحه وبالتالي في هذا الموضوع سأوم ان شاء الله بشرح العملية وهي بسيطه جدا لا تتطلب الا بعض اكواد بالجافا اسكربت وعلى وجه التحديد مكتية jquery الى جانب بعض اكواد html اول شيء نبدأ بسم الله ونقوم بتحميل مكتبة الجي كويري ثانيا نقوم بعمل فورم عادي جدا بدون وضع كود الفورم فيها كالتالي

رمز PHP:
   <div id='loginform'>
        <
div align='center'>
        <
table align='center'>
        <
tr>
            <
td>
            <
div align="center">
            <
div><span >إسم المستخدم</span></div>
            <
input type='text' autocomplete="off" name='username' id="username"  size='15' />
            <
div><span >كلمة المرور</span></div>
            <
input type='password' name='userpass' id="userpass" autocomplete="off" size='15' />
            <
div><input type="checkbox" id="remmberme" name="remmberme" />&nbsp;<span >تذكرني</span></div>
            <
input type='submit' id='login'  value='تسجيل الدخول'  />
            </
div>
            </
div>
            </
td>
        </
tr>
        </
table>
        </
div>  
هو عبارة عن فورم تسجيل دخول لكن بدون كود الفورم وهذا من ضمن المرونه التي تمنحها لنا مكتبة الجي كويري اننا لا نحتاج وسم
كل ما نحتاج اليه هو تحديد بداية ونهاية الفورم وهو ما قمت بعمله هنا في الوسم
رمز PHP:
   <div id='loginform'>
   
محتويات الفورم هنها
   
</div>  
وهي نقطه مهمه سنتاولها في عملية التنقل بين الرسائل والعمليات الجمالية للارسال وايضا اعطينا زر الارسال id وهو login وايضا جميع ال input في الفورم تم اعطؤهم ايديهات وهي مهمه لجلب القيم الخاصه بهم في الاجاكس الان نحتاج الى div اخر مهمته هي اظار رساله انتظار ان العملية قيد التنفيذ ويمكن تصويرة كالتالي
رمز PHP:
<div id='loginhandle' style='display:none' >
        <
div align='center'>
        <
br /> يرجي الانتظار
        
</div>
        </
div>  
ومن الملاحظ اننا اعطيناه خاصية عدم الظهور اي انه لن يظهر الا بناءا على الطلب من خلال الكود ما نحتاج اليه اخيرا هو div اخير يتم ظهور به الرسائل القادمة من عملية المعالجة اي النتيجه القادمة من فورم php بعدي تسجيل الدخول وليكن كالتالي
رمز PHP:
    <div id='msgreturn' style='display:none' >
       <
div id='msgreturn' class='msgreturn' > </div>
       </
div>  
الملاحظ هنا انه يوجد contaier او div رئيسي مخفي ايضا ولا يظهر الا بناءا على الطلب وبداخله ديف اخر وهو ما ستظهر بداخله رسائل المعالجة بحيث يكون كود الفورم كاملا كالتالي
رمز PHP:
   <div id='loginform'>
        <
div align='center'>
        <
table align='center'>
        <
tr>
            <
td>
            <
div align="center">
            <
div><span >إسم المستخدم</span></div>
            <
input type='text' autocomplete="off" name='username' id="username"  size='15' />
            <
div><span >كلمة المرور</span></div>
            <
input type='password' name='userpass' id="userpass" autocomplete="off" size='15' />
            <
div><input type="checkbox" id="remmberme" name="remmberme" />&nbsp;<span >تذكرني</span></div>
            <
input type='submit' id='login'  value='تسجيل الدخول'  />
            </
div>
            </
div>
            </
td>
        </
tr>
        </
table>
        </
div>
        </
div>
        <
div id='loginhandle' style='display:none' >
        <
div align='center'>
        <
br /> يرجي الانتظار
        
</div>
        </
div>
        <
div id='msgreturn' style='display:none' >
       <
div id='msgreturn' class='msgreturn' > </div>
       </
div>  
الان نقوم ببناء كود الاجاكس اولا نقوم بتضمين مكتبة الجي كويري
رمز PHP:
<script type="text/javascript" src="jquery.min.js"></script>  
ثانيا نحتاج الى حدث معين وهو عند الضغط على زر الدخول يتم تنفيذ الاوامر اذن نقوم ببناء اول حدث وهو عند الضغط على زر تسجيل الدخول
رمز PHP:
$("#login").click(function() {  
يعني عند الضغط على زر تسجيل الدخول يتم بداية الاحداث اول شيء نقوم بإخفاء فورم تسجيل الدخول واظهار فورم جاري الانتظار وتكون كالتالي
رمز PHP:
$('#loginform').slideToggle('#loginhandle');  
اي التبديل بين فورم تسجيل الدخول والديف الخاص بالإنتظار جاري التنفيذ ثم نعطي الديف الخاص بالانتظار قليلا بعض النواحي الجمالية وهي الظهرو ببطء بحيث يكون كالتالي
رمز PHP:
$('#loginhandle').show("slow");  
ثالثا جلب قيم الحقول في الفورم كالتالي
رمز PHP:
 var name = $("input#username").val();
      var 
password = $("input#userpass").val();
      var 
remmberme = $("input#remmberme").val();  
وبالتالي تظهر قيمه الاي دي الخاصه بكل حقل في الفورم حيث يتم جلب قيمته عن طريق الاي دي الخاص به ثم نقوم بتجميع هذه القيم في متغير واحد
رمز PHP:
 var dataString 'username='name '&userpass=' password '&remmberme=' remmberme 
طبعا لو ان هناك مثلا فورم بها 30 حقل انبت لن نقوم بعمل هذه الطريقه وانما توفر لنا مكتبة الجي كويري عمل serlize لها جميعا في متغير واحد وسأقوم بنتاولها ان شاء الله فيما بعد الان لدينا جميع المتغيرات والقيم نحتاج الان الى ارسالهم الي صفحه البي اتش بي ويكون كالتالي اولا تحديد نوعية الارسال ثانيا تحديد صفحه الارسال ثالثا تحديد البيانات المرسله رابعا بناء بعض المظاهر الجمالية في الفورم خامسا الرجوع بالنتيجه يكون كالتالي
رمز PHP:
    $.ajax({
      
type"POST",
      
url"test.php",
      
datadataString,
      
success: function(msg) {
        $(
'#loginhandle').slideToggle('#msgreturn');
        $(
'#msgreturn').show("slow");
        $(
'#msgreturn').html(msg)
        .
hide()
        .
fadeIn(1500, function() {
        });
      }
     });  
نلاحظ هنا ان دالة نجاح العملية بناؤها كالتالي اولا يتم التبديل بين الدف الخاص بالانتظار والديف الذي يحمل الرسالة القادمة من صفحه php وبما ان الديف الظاهر هو الانتظار اذن سيتم اخفاؤه وظهور الديف الذي يحمل الرسالة
رمز PHP:
$('#loginhandle').slideToggle('#msgreturn');  
ثم اعطيناه مؤثر الظهور ببطء
رمز PHP:
$('#msgreturn').show("slow");  
واخيرا النقطه الاخيرة وهي الرسالة القادمة من ملف البي اتش بي تم تخيصي الديف الاخير فيها بداخل كونتينر الديف الاخبير وايضا يتم ظهورها بتأثير الفاد
رمز PHP:
$('#msgreturn').html(msg)
        .
hide()
        .
fadeIn(1500, function() {
        });  

وهذا هو الكود بالكامل
رمز PHP:
<script type="text/javascript">
$(function() {
  $(
"#login").click(function() {
         $(
'#loginform').slideToggle('#loginhandle');
        $(
'#loginhandle').show("slow");
      var 
name = $("input#username").val();
      var 
password = $("input#userpass").val();
      var 
remmberme = $("input#remmberme").val();
      var 
dataString 'username='name '&userpass=' password '&remmberme=' remmberme ;
        $.
ajax({
      
type"POST",
      
url"test.php",
      
datadataString,
      
success: function(msg) {
        $(
'#loginhandle').slideToggle('#msgreturn');
        $(
'#msgreturn').show("slow");
        $(
'#msgreturn').html(msg)
        .
hide()
        .
fadeIn(1500, function() {
        });
      }
     });
    return 
false;
    });
});
   
</script>  
وأخيرا ارجو ان اكون وفقت في الشرح وأن يسفيد الجميع مرفق ملف العمل ملاحظة اخيره طبعا هنا في هذا العمل استخدمنا مؤثرين فقط من مكتبة كبيرة من المؤثرات وهما التبديل بين الديفين والظهور ببطء ويمكن اضافة العديد من المؤثرات الاخري وتجدها كلها في هذا الرابطhttp://api.jquery.com/category/effects/

نوع الملف : zipajax_send.zip (18.0 كيلوبايت




إقرأ البقية

HTML5 Profile شرح عمل بروفايل رائع بواسطة HTML5

بواسطة f يوم القسم : 0 التعليقات

بسم الله الرحمن الرحيم

والصلاة والسلام على اشرف المرسلين الـ HTML5 لغة معروفة وقد قام الاخوان فى المعهد بشرحها شرحاً تفصيلاُ .. جزاهم الله خيراً وهذا درس بسيط يساعد لعمل صفحة HTML5 بروفايل


اولا يمكنك تحميل من الملف ورفعه الي موقعك من هنــا 
أو من هنـا 
الخطوة الاولى هى عمل ملف HTML5 جديد باسم index.html
رمز PHP:
<!DOCTYPE html>

<
html>

    <
head>

        <
meta charset="utf-8" />

 

        <
title>Making a Beautiful HTML5 Portfolio Tutorialzine Demo</title>

 

        <!-- 
Our CSS stylesheet file -->

        <
link rel="stylesheet" href="assets/css/styles.css" />

 

        <!-- 
Enabling HTML5 tags for older IE browsers -->

        <!--[if 
lt IE 9]>

          <
script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
        <![endif]-->

    </head>

 

    <body>



        <header>

            <h1>My Portfolio</h1>

        </header>

 

        <nav id="filter">

            <!-- The menu items will go here (generated by jQuery) -->

        </nav>

 

        <section id="container">

            <ul id="stage">

                <!-- Your portfolio items go here -->

            </ul>

        </section>

 

        <footer>

        </footer>

 

        <!-- Including jQuery, the Quicksand plugin, and our own script.js -->

 

        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
39
        <script src="assets/js/jquery.quicksand.js"></script>

        <script src="assets/js/script.js"></script>

 

    </body>
43
</html>
والكل يعرف هناك عدد من العناصر الجديدة فى HTML 5 زى header بوسم h1 و section وهو الذى يحمل قوائم (يتم اضافة قوائم اخرى بjQuery وغيرهم الكثيير تابع هذا الكود
رمز PHP:
<li data-tags="Print Design">

    <
img src="assets/img/shots/1.jpg" />

</
li>

 
<
li data-tags="Logo Design,Print Design">

    <
img src="assets/img/shots/2.jpg" />

</
li>

<
li data-tags="Web Design,Logo Design">

    <
img src="assets/img/shots/3.jpg" />

</
li>  
وبعد ذلكـ يمكنك ان تضغ ما تـريـد مــن اكواد فى الملف بالنسبة للصور المعروضة فى الملف يمكنك ابدالها بصور اخرى ولكن يجب اولاً تعديلها فى ملف HTML 5



إقرأ البقية

السلام عليكم و رحمة الله و بركاته

 كما نعلم جميعا ان ثغرات الحقن اصبحت خطيرة لأبعد الحدود ولا يستهان بها فأبسطها تكون بالوصول الى بيانات قاعدة البيانات و تعديلها و حذفها و استخراج كل معلومات منها الحصول على معلومات مدير الموقع او حتى مدير السيرفر. اليوم شرحت لكم طريقتين كيفة اكتشاف ثغرات الحقن الجزء الاول شرحت فيه تخطي لوحة تحكم الادمن عن طريق الحقن و الحماية منها و الجزء الثاني حقن موقع فالرابط عن طريق المتغير و الحماية منها مشاهدة ممتعه


إقرأ البقية
السلام عليكم ورحمة الله وبركاته

اليوم اطرح لكم كلاس من برمجتي للاتصال بقواعد البيانات والتحكم بالاستعلامات بسلاسة تامه
الاصدار الاول

إقرأ البقية
تصميم وتطوير مدونة فضاء التطوير