تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] اريد كودين php الاول وصف لملف والاخر اظهار الوصف
#1
السلام عليكم ورحمة الله وبركاته
اطلب من الاخوه الاعظاء في هذا المنتدى المبارك ومن الاخ Amir_Alzubidy
كودين php الاول اضافة وصف للملف بالعربي عند رفعه مثلا
والكود الاخر اظهار وصف الملف وكلا الكودين اريدهما بدون استخدام قاعدة بينات فمثلا هذا الكود المتواضع يبحث عن اسم الملف وملحقه لاكن عيوبه انه لا يبحث بالعربي ولا يبحث عن كلمة في الملف
PHP كود :
$goo$_GET['soo'];
  
$filename 
"/home/username/domains/domain.site/public_html/uploads/$goo";

if (
file_exists($filename)) {
    echo "The file $filename exists";
} else {
    echo "The file $filename does not exist";

الرد }}}
تم الشكر بواسطة: Amir_Alzubidy , Amir_Alzubidy
#2
السلام عليكم
بعد محاولات ناجحه استطعت برمجة هذين الكودين وهما الاول اظافة وصف لملف مثلا عند رفعه والثاني اظهار وصف الملف بعد البحث عن وصفه وكلا الكودين لا يعتمد على الاتصال بقاعدة البيانات واستطعت تحديد عدد حروف كلمة البحث على سبيل المثال 3 
واستخدام  الكودين  مثلا في سكربت رفع الملفات بدون استخدام  قاعدة بيانات الاول عند رفع ملف والاخر في ملف البحث عن وصف ملف ويدعم اللغه العربيه بترميز ut-8
طريقة الاستخدام تضع الكود التالي 
قبل كود 
PHP كود :
$upload file_put_contents("uploads/$name",file_get_contents($url,false,$context)); 
 تضع قبله الكود التالي
PHP كود :
$description strip_tags($_POST['desc']);
$descriptions="$description,$name";
$namess="date";
/*
$filelist = fopen("./files/".$namess.".mfh","w");
fwrite($filelist, $name ."|". name ."|". $passkey ."|". $userip ."|". $time."|0|".$description."|".$passwerd."|".$cat."|".$_POST['pprotect']."|\n");*/

//$password=$_GET['password'];
$fh fopen("./files/".$namess.".mfh","a+"); fwrite($fh,$descriptions."\n");
//write to txtfile
//fwrite($fh,$password."\n"); 
// write to txtfile
    fclose($fh); 
انشي مجلد جديد بااسم files وملف بداخله باسم date.mfh ولاتكتب في شي
وغير اسم 
PHP كود :
$name
الى اسم ملف الرفع حسب السكربت 
وفي فورم الهتميل اضف الكود التالي
PHP كود :
<input type="text" name="desc" /> 

بعد هذا الكود حسب كود الرفع
PHP كود :
    <form action="" method="post"
ثانيا انشي ملف جديد وليكن مثلا file2.php
وضع فيه الكود التالي
PHP كود :
<?php 
if($_POST){
$search $_POST['word'];
//$search = 'foo';
//home/xxx/domains/xxx/public_html/uploads

$lines file('http://xxx.com/files/date.mfh');
$searchfor $_POST['word'];
//$search = 'foo';
// Read from file
//$lines = file('file.txt');

foreach($lines as $line)
{
  // Check if the line contains the string we're looking for, and print if it does
  if(strpos($line$search) !== false)
if (
strlen($search) > 2)
   { echo $line;}else{echo"no file";}
}}
?>
<html>
<head><title>Theonlytutorials - Simple File Upload from URL Script!</title></head>
<body>
<h3>Theonlytutorials.com - Very Simple File Upload from URL Script!</h3>
    <form action='file2.php' method='post'>
word search:
<input type='text' name='word' />
<input type='submit' value='upload Images' name='upload'/>
    </form>
</body>
</html> 
وغير رابط الملف الى رابط موقعك
انتهت العملية
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy
#3
السلام عليكم
جميعا
الحاقا لما سبق تبين ان البحث في الكلمات العربيه اذا كان عدد حروف البحث 2 حرف فانه يبحث ويعطي النتائج وهذا غير مرغوب به واذا بحثت في الكلمات الانجليزيه اذا كان عدد حروف البحث 2 حرف فانه لايعطي النتائج ويطبع رسالة no file وتم حل هذه المشكلة وذلك اني قمت بفتح الملفين uploads.php و file2.php
ببرنامجQuickEdit
وتغيير رمز الملفين الى windows-1256
وحفظهما
وقبل ذلك ومن المهم وضع الكود التالي في اعلى الملفين المذكورين لحل المشكلة ومنع اعطاء نتيجة للكلمة التي عدد حروفها 2 حرف وذلك حتى لا يسبب حمل زائد على السيرفر
وهذا الكود
PHP كود :
@header('Content-type: text/html;charset=windows-1256'); 
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy
#4
السلام عليكم
بعد فحص الكود اعلاه وجدت خطأ 
وتم اصلاحه بالكود التالي
PHP كود :
<?php 

@header('Content-type: text/html;charset=windows-1256'); 

if(
$_POST){

$search $_POST['word'];

//$search = 'foo';

//home/xxx/domains/xxx/public_html/uploads



$lines file('http://xxx.com/files/date.mfh');

$searchfor $_POST['word'];

//$search = 'foo';

// Read from file

//$lines = file('file.txt');

if (strlen($search) < 3)
{echo
"no file";} else{
foreach(
$lines as $line)

{

  // Check if the line contains the string we're looking for, and print if it does

  if(strpos($line$search) !== false)

   { echo "$line;
}}}}
?>

<html>

<head><title>Theonlytutorials - Simple File Upload from URL Script!</title></head>

<body>

<h3>Theonlytutorials.com - Very Simple File Upload from URL Script!</h3>

    <form action='file2.php' method='post'>

word search:

<input type='text' name='word' />

<input type='submit' value='upload Images' name='upload'/>

    </form>

</body>

</html> 
اذا كان عدد حروف كلمة البحث يساوي او اكبر من 3 فانه يعطي نتيجة البحث
ناقصه تعدد الصفحات اذا كان الناتج كبير
فليت الاخوان يساعدوني
سوال على الهامش
كيف اطبع عدد نتائج البحث
الرد }}}
تم الشكر بواسطة:
#5
السلام عليكم جميعا
في الكود اعلاه ممكن طريقة طباعة عدد نتائج البحث بعد البحث عن الكلمة
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy
#6
(منذ 10 ساعة مضت )nnnjk كتب : السلام عليكم جميعا
في الكود اعلاه ممكن طريقة طباعة عدد نتائج البحث بعد البحث عن الكلمة
عليكم السلام 
PHP كود :
<?php 
@header('Content-type: text/html;charset=windows-1256');

$results_per_page 10// عدد النتائج في كل صفحة
$current_page = isset($_GET['page']) ? (int)$_GET['page'] : 1;

if(
$_POST || isset($_GET['word'])){
    $search = isset($_POST['word']) ? $_POST['word'] : $_GET['word'];
    $lines file('http://xxx.com/files/date.mfh');
    
    
if (strlen($search) < 3){
        echo "كلمة البحث يجب أن تكون 3 أحرف على الأقل";
    } else {
        // جمع كل النتائج أولاً
        $all_results = [];
        foreach($lines as $line){
            if(strpos($line$search) !== false){
                $all_results[] = $line;
            }
        }
        
        
// حساب عدد النتائج والصفحات
        $total_results count($all_results);
        $total_pages ceil($total_results $results_per_page);
        
        
// طباعة عدد النتائج
        echo "<p>عدد النتائج: <strong>$total_results</strong> نتيجة</p>";
        
        
// عرض نتائج الصفحة الحالية فقط
        $start = ($current_page 1) * $results_per_page;
        $page_results array_slice($all_results$start$results_per_page);
        
        
foreach($page_results as $line){
            echo $line "<br>";
        }
        
        
// روابط الصفحات
        if($total_pages 1){
            echo "<div style='margin-top:10px'>";
            for($i 1$i <= $total_pages$i++){
                if($i == $current_page){
                    echo "<strong>[$i]</strong> ";
                } else {
                    echo "<a href='?page=$i&word=" urlencode($search) . "'>$i</a> ";
                }
            }
            echo "</div>";
        }
    }
}
?>
<html>
<head>
    <title>بحث في الملف</title>
</head>
<body>
    <h3>بحث في الملف</h3>
    <form action='' method='post'>
        كلمة البحث: <input type='text' name='word' />
        <input type='submit' value='بحث' />
    </form>
</body>
</html> 
[صورة مرفقة: 177461173141861.gif]
الرد }}}
تم الشكر بواسطة: nnnjk
#7
السلام عليكم
عمل جبار تشكر عليه
كيف اجعل عرض النتائج حسب الاحدث
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy
#8
(منذ 8 ساعة مضت )nnnjk كتب : السلام عليكم
عمل جبار تشكر عليه
كيف اجعل عرض النتائج حسب الاحدث

يمكن ذلك من خلال اضافة هذا الكود : 
PHP كود :
// جمع كل النتائج أولاً
$all_results = [];
foreach(
$lines as $line){
    if(strpos($line$search) !== false){
        $all_results[] = $line;
    }
}

// ✅ عكس الترتيب - الأحدث أولاً
$all_results array_reverse($all_results); 

وهذا الكود بالكامل ان احببت .
PHP كود :
<?php 
@header('Content-type: text/html;charset=windows-1256');

$results_per_page 10// عدد النتائج في كل صفحة
$current_page = isset($_GET['page']) ? (int)$_GET['page'] : 1;

if(
$_POST || isset($_GET['word'])){
    $search = isset($_POST['word']) ? $_POST['word'] : $_GET['word'];
    $lines file('http://xxx.com/files/date.mfh');
    
    
if (strlen($search) < 3){
        echo "كلمة البحث يجب أن تكون 3 أحرف على الأقل";
    } else {
        // جمع كل النتائج أولاً
        $all_results = [];
        foreach($lines as $line){
            if(strpos($line$search) !== false){
                $all_results[] = $line;
            }
        }
        
        
// ✅ عكس الترتيب - الأحدث أولاً
        $all_results array_reverse($all_results);
        
        
// حساب عدد النتائج والصفحات
        $total_results count($all_results);
        $total_pages ceil($total_results $results_per_page);
        
        
// طباعة عدد النتائج
        echo "<p>عدد النتائج: <strong>$total_results</strong> نتيجة</p>";
        
        
// عرض نتائج الصفحة الحالية فقط
        $start = ($current_page 1) * $results_per_page;
        $page_results array_slice($all_results$start$results_per_page);
        
        
foreach($page_results as $line){
            echo $line "<br>";
        }
        
        
// روابط الصفحات
        if($total_pages 1){
            echo "<div style='margin-top:10px'>";
            for($i 1$i <= $total_pages$i++){
                if($i == $current_page){
                    echo "<strong>[$i]</strong> ";
                } else {
                    echo "<a href='?page=$i&word=" urlencode($search) . "'>$i</a> ";
                }
            }
            echo "</div>";
        }
    }
}
?>
<html>
<head>
    <title>بحث في الملف</title>
</head>
<body>
    <h3>بحث في الملف</h3>
    <form action='' method='post'>
        كلمة البحث: <input type='text' name='word' />
        <input type='submit' value='بحث' />
    </form>
</body>
</html> 

بالتوفيق
[صورة مرفقة: 177461173141861.gif]
الرد }}}
تم الشكر بواسطة: nnnjk , nnnjk , nnnjk
#9
مشكور على المجهود
تم التركيب يعمل بنجاح
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: