Friday 4 July 2014

PHP Read Folder Files



  $files = glob($dir . '*.csv');

foreach ($files as $x => $x_filepath) {
        // get file path
        $filePath = $x_filepath;
        // get file name
        $file_NAME = basename($filePath, ".csv");
}

PHP Read CSV file and store in array

function fun_readCSV($csvFile) {
    if (!file_exists($csvFile) || !is_readable($csvFile)) {
        fun_logMessage($messageID = '', $message = 'File Not Found', $mstType = 'Developer', $fieldName = '', $rowID = '');
        return FALSE;
    }
    $file_name = basename($csvFile);  // Show File Name
    echo ' File Size '.filesize($csvFile);
    $file_handle = fopen($csvFile, 'r');
    while (!feof($file_handle)) {
        $line_of_text[] = fgetcsv($file_handle, 1024);
    }
    fclose($file_handle);
    $line_of_text = array_unique($line_of_text, SORT_REGULAR);   
    print array2table($line_of_text);
    return $line_of_text;
}

PHP Drupal View to Array

function fun_View_to_Array($clinic_id, $fileType) {
    $view_get_field_details = views_get_view_result("pms_details", "page_4", $clinic_id, $fileType);
    //show_array($view_get_field_details);
    $array_field_list = array();
    if ($view_get_field_details) {
        foreach ($view_get_field_details as $fields) {
            $field_info = array();
            //print $fields->field_field_pms_field_validation_id[0]['raw']['target_id'];             

            $field_info['field_nid'] = $fields->nid;
            $field_info['field_name'] = $fields->node_title;
            $field_info['file_name'] = $fields->field_field_pms_file_name[0]['raw']['value'];
            $field_info['field_length'] = $fields->field_field_pms_field_length[0]['raw']['value'];
            $field_info['field_sequence'] = $fields->field_field_pms_field_sequence[0]['raw']['value'];
            $field_info['validation_nid'] = $fields->field_field_pms_field_validation_id[0]['raw']['target_id'];
            $field_info['clinic_id'] = $fields->field_field_pms_field_clinic_id[0]['raw']['target_id'];
            $field_info['Validation_message'] = $fields->field_field_pms_validation_message[0]['raw']['value'];
            $field_info['Validation_id'] = $fields->field_field_pms_validation_id[0]['raw']['value'];
            $array_field_list[] = $field_info;
        }
    }
    //print array2table($array_field_list);
    //show_array(array_filter($array_field_list, "Search_Function"));
    return $array_field_list;
}

Thursday 3 July 2014

array search

function findWhere($array, $matching) {
    foreach ($array as $item) {
        $is_match = true;
        foreach ($matching as $key => $value) {

            if (is_object($item)) {
                if (! isset($item->$key)) {
                    $is_match = false;
                    break;
                }
            } else {
                if (! isset($item[$key])) {
                    $is_match = false;
                    break;
                }
            }

            if (is_object($item)) {
                if ($item->$key != $value) {
                    $is_match = false;
                    break;
                }
            } else {
                if ($item[$key] != $value) {
                    $is_match = false;
                    break;
                } 
            }
        }

        if ($is_match) {
            return $item;   
        }
    }

    return false;
}
Example:
$cars = array(
    array('id' => 1, 'name' => 'Toyota'),
    array('id' => 2, 'name' => 'Ford')
);

$car = findWhere($cars, array('id' => 1));
or

$car = findWhere($cars, array(
    'id' => 1,
    'name' => 'Toyota'
));

PHP DateTime Validation

  if (DateTime_Validation($text, $format = 'YmdHi') == 1) {       
        return 1; // False
    }
    return 0; // True

function DateTime_Validation($date, $format = 'YmdHi') {
    $d = DateTime::createFromFormat($format, $date);
    $return_type = $d && $d->format($format) == $date;
    if ($return_type == 1) {
        return 0;
    } else {
        return 1;
    }
}

PHP Multidimensional Array Search by Column


$result_array = (search($array_list, 'column_name', 'Value'));

function search($array, $key, $value) {
    $results = array();

    if (is_array($array)) {
        if (isset($array[$key]) && $array[$key] == $value) {
            $results[] = $array;
        }

        foreach ($array as $subarray) {
            $results = array_merge($results, search($subarray, $key, $value));
        }
    }

    return $results;
}

PHP Array To HTML Table Conversion

print array2table($array);     

function array2table($array, $recursive = false, $null = ' ')
{
    // Sanity check
    if (empty($array) || !is_array($array)) {
        return false;
    }

    if (!isset($array[0]) || !is_array($array[0])) {
        $array = array($array);
    }

    // Start the table
    
    $table = '<table class="table table-bordered table-striped dataTable">';

    // The header
    $table .= "\t<tr>";
    // Take the keys from the first row as the headings
    foreach (array_keys($array[0]) as $heading) {
        $table .= '<th>' . $heading . '</th>';
    }
    $table .= "</tr>\n";

    // The body
    foreach ($array as $row) {
        $table .= "\t<tr>" ;
        foreach ($row as $cell) {
            $table .= '<td>';

            // Cast objects
            if (is_object($cell)) { $cell = (array) $cell; }
             
            if ($recursive === true && is_array($cell) && !empty($cell)) {
                // Recursive mode
                $table .= "\n" . array2table($cell, true, true) . "\n";
            } else {
                $table .= (strlen($cell) > 0) ?
                    htmlspecialchars((string) $cell) :
                    $null;
            }

            $table .= '</td>';
        }

        $table .= "</tr>\n";
    }

    $table .= '</table>';
    return $table;
}