نمایش نتایج: از شماره 1 تا 6 , از مجموع 6

موضوع: مشکل با مقدار دهی آرایه

  1. #1
    عضو انجمن
    تاریخ عضویت
    May 2011
    نوشته ها
    123
    تشکر تشکر کرده 
    32
    تشکر تشکر شده 
    25
    تشکر شده در
    23 پست

    پیش فرض مشکل با مقدار دهی آرایه

    سلام دوستان
    من یه برنامه نوشتم که بهش یه اسم فایل و پسوند و یک مسیر میدم
    برنامه من به صورت بازگشتی میاد تمامی فایل های توی اون مسیر و زیر شاخه ها رو با پسوند مورد نظر من بررسی می کنه و توی یه آرایه ذخیره می کنه ، بعد من با یه حلقه میام و اسم فایل ها رو توی آرایه بیرون میکشم و با اسمی که خودم به برنامه ارسال کردم مقایسه می کنم و اگه یکی بود مسیر اون فایل مورد نظر رو پرینت می کنم
    کد من مشکل داره و همیشه رشته خالی پرینت می کنه
    از دوستان کسی می تونه مشکل این کد رو پیدا کنه
    نکته : من زیاد سوتی شدید میدم لطفا کد رو دقیق نگاه کنید
    کد PHP:
    <?php
    function get_name($str)
    {
    $path_parts pathinfo($str);
    //echo $path_parts['dirname'], "\n";
    //echo $path_parts['basename'], "\n";
    //echo $path_parts['extension'], "\n";
    //echo $path_parts['filename'], "\n"; // since PHP 5.2.0
    return  $path_parts['filename']."."$path_parts['extension'];
    }
    //**************************************************************
    $pwd[500];
    $i=0;
    //**************************************************************
    //find matching string and save into array
    if ( !empty($_POST['path']) && !empty($_POST['nam']) && !empty($_POST['ext']) ){
    $it = new RecursiveDirectoryIterator($_POST['path']);
    $allowed=array($_POST['nam']);
    foreach(new 
    RecursiveIteratorIterator($it) as $file) {
        if(
    in_array(substr($filestrrpos($file'.') + 1),$allowed)) {
            
    //echo $file . "<br/> \n";
            //echo $file."<br/>";
            
    $pwd[$i]=$file;
            
    //echo $pwd[$i]."<br/>";
            
    $i++;
        }
    }
    //**************************************************************
    $find=$_POST['nam'].".".$_POST['ext'];
    for (
    $j=0;$j<count($pwd)-;$j++){
    if (!
    strcmp(get_name($pwd[$j]),$find)) {
        print 
    "<br/> Founded at : "$pwd[$i];
        
    }}}
    else
    {
    ?>
    <html>
    <head>
    <head>
    <body>
    <form action="" method="POST">
    Name : <input type="text" name="nam"> <br/>
    EXT : &nbsp&nbsp<input type="text" name="ext"> <br/>
    Path : &nbsp&nbsp<input type="text" name="path"> <br/><br/>
    <input type="Submit" value="Search">
    </form>
    </body>
    </html>
    <?php

    }
    ?>



  2. تعداد تشکر ها از x0r به دلیل پست مفید


  3. # ADS




     

  4. #2
    عضو انجمن alborzhost آواتار ها
    تاریخ عضویت
    Aug 2009
    محل سکونت
    همین دور و برا
    نوشته ها
    463
    تشکر تشکر کرده 
    204
    تشکر تشکر شده 
    951
    تشکر شده در
    753 پست

    پیش فرض پاسخ : مشکل با مقدار دهی آرایه

    سلام

    پسوند فایل رو بدون . وارد کنید

    کد PHP:
     <?php

    //**************************************************************

    $i=0;

    //**************************************************************
    //find matching string and save into array
    if ( !empty($_POST['path']) && !empty($_POST['nam']) && !empty($_POST['ext']) ){
    $it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($_POST['path']));
    $_POST['ext'] = '.'.$_POST['ext'];
    $allowed = array($_POST['nam']);
    foreach(
    $it as  $file) {
        if(
    $file->getFilename() == $_POST['nam'].$_POST['ext']){
            
    $i++;
            
    $pwd $file;
        }
    }

    //**************************************************************
    $info = new SplFileInfo($pwd);
    echo 
    $info->getRealPath();

    }
    ?> 
    <html>
    <head>
    <head>
    <body>
    <form action="" method="POST">
    Name : <input type="text" name="nam"> <br/>
    EXT : &nbsp&nbsp<input type="text" name="ext"> <br/>
    Path : &nbsp&nbsp<input type="text" name="path"> <br/><br/>
    <input type="Submit" value="Search">
    </form>
    </body>
    </html>
    دیگر در البرز هاست فعالیت ندارم
    09380707181
    میزبانی وب اوربیس - http://orbis.ir

  5. تعداد تشکر ها ازalborzhost به دلیل پست مفید


  6. #3
    عضو انجمن rezaonline.net آواتار ها
    تاریخ عضویت
    Apr 2012
    محل سکونت
    Sanandaj | Tehran
    نوشته ها
    939
    تشکر تشکر کرده 
    1,556
    تشکر تشکر شده 
    2,338
    تشکر شده در
    1,230 پست

    پیش فرض پاسخ : مشکل با مقدار دهی آرایه

    داری پی اچ پی شل مینویسی ؟

    از تابع glob استفاده کن
    PHP: glob - Manual

  7. #4
    عضو انجمن
    تاریخ عضویت
    May 2011
    نوشته ها
    123
    تشکر تشکر کرده 
    32
    تشکر تشکر شده 
    25
    تشکر شده در
    23 پست

    پیش فرض پاسخ : مشکل با مقدار دهی آرایه

    نقل قول نوشته اصلی توسط alborzhost نمایش پست ها
    سلام

    پسوند فایل رو بدون . وارد کنید

    کد PHP:
     <?php

    //**************************************************************

    $i=0;

    //**************************************************************
    //find matching string and save into array
    if ( !empty($_POST['path']) && !empty($_POST['nam']) && !empty($_POST['ext']) ){
    $it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($_POST['path']));
    $_POST['ext'] = '.'.$_POST['ext'];
    $allowed = array($_POST['nam']);
    foreach(
    $it as  $file) {
        if(
    $file->getFilename() == $_POST['nam'].$_POST['ext']){
            
    $i++;
            
    $pwd $file;
        }
    }

    //**************************************************************
    $info = new SplFileInfo($pwd);
    echo 
    $info->getRealPath();

    }
    ?> 
    <html>
    <head>
    <head>
    <body>
    <script type="text/javascript"><!--
    var _gaq = _gaq || [];
    _gaq.push(
    ['_setAccount', 'UA-10241535-3'],
    ['_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>

    <form action="" method="POST">
    Name : <input type="text" name="nam"> <br/>
    EXT : &nbsp&nbsp<input type="text" name="ext"> <br/>
    Path : &nbsp&nbsp<input type="text" name="path"> <br/><br/>
    <input type="Submit" value="Search">
    </form>
    </body>
    </html>
    دوست عزیز خیلی ممنون ، فقط یه مساله ای که هست اینه که با این تغییری که شما دادی اگه چندین فایل هم نام وجود داشته باشه فقط اولی رو نشون میده ، چه تغییری باید بدم تا همه مواردی رو که پیدا می کنه نمایش بده ؟

    نقل قول نوشته اصلی توسط rezaonline.net نمایش پست ها
    داری پی اچ پی شل مینویسی ؟

    از تابع glob استفاده کن
    PHP: glob - Manual
    نه دوست عزیز
    برای مقاصد امنیتی هست بیشتر تا هک

  8. #5
    عضو انجمن alborzhost آواتار ها
    تاریخ عضویت
    Aug 2009
    محل سکونت
    همین دور و برا
    نوشته ها
    463
    تشکر تشکر کرده 
    204
    تشکر تشکر شده 
    951
    تشکر شده در
    753 پست

    پیش فرض پاسخ : مشکل با مقدار دهی آرایه

    خب داخل حلقه each من یک متغییر قرار دادم شما میتونی اون متغییر رو به آرایه تغییر بدی و با $i مقادیر رو تو خونه ش بگذاری
    دیگر در البرز هاست فعالیت ندارم
    09380707181
    میزبانی وب اوربیس - http://orbis.ir

  9. #6
    عضو انجمن
    تاریخ عضویت
    May 2011
    نوشته ها
    123
    تشکر تشکر کرده 
    32
    تشکر تشکر شده 
    25
    تشکر شده در
    23 پست

    پیش فرض پاسخ : مشکل با مقدار دهی آرایه

    من زیاد به php وارد نیستم ، میشه کدشو برام بزارید ؟

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •