Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Помогите разобраться в скрипте...
SnoopCat  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 1
Пользователь №: 43459
На форуме: 2 месяца, 3 дня
Карма:




Доброго времени суток.)

Сильно не пинайте не спец в php, только учусь.

Есть скрипт, в нём есть переменная $ops, ей должно быть присвоено значение из таблицы excel, но вместо этого присваивается название файла таблицы.

Проблема, как мне кажется, заключается в этом моменте (ближе к середине скрипта):


if(isset($_FILES['new_xlsx']) && !empty($_FILES['new_xlsx']) && $_FILES['new_xlsx']['error'] == 0) {
//echo $_FILES['new_xlsx']['type'].'<br>';

$arr_allowTypes = array(
0=>'application/vndopenxmlformats-officedocumentspreadsheetmlsheet',
1=>'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
2=>'application/excel'
);
if(in_array($_FILES['new_xlsx']['type'], $arr_allowTypes)) {

$basePath = rtrim(str_replace('\\', '/', realpath(dirname(__FILE__))), '/') . '/../';
move_uploaded_file($_FILES['new_xlsx']['tmp_name'], $basePath."excel/".$_FILES['new_xlsx']['name']);
$_SESSION['ops_number'] = $_FILES['new_xlsx']['name'];
$_SESSION['fio_col'] = $_POST['col_fio'];
$_SESSION['col_pas'] = $_POST['col_pas'];
$_SESSION['col_tabel'] = $_POST['col_tabel'];



//header('Location: ' . basename(__FILE__));
} else {
$mess = "Неверный формат файла";
}
}

else {
if(isset($_FILES['new_xlsx'])) {
$mess = "Файл не был выбран";
}
}


if(isSet($_SESSION['fio_col']))
{
$fldValueFio = ((int) $_SESSION['fio_col']);
}

if(isSet($_SESSION['col_pas']))
{
$fldValuePas = ((int) $_SESSION['col_pas']);
}

if(isSet($_SESSION['col_tabel']))
{
$fldValueTabel = ((int) $_SESSION['col_tabel']);
}



и в этом (ближе к концу скрипта):


if( file_exists($excelFile) ) {
$ops = $_SESSION['ops_number'];
$ops = substr($ops, 0, strrpos($ops, '.xlsx') );
echo '<div style="color:red;">'.$ops.'</div>';
$ops = trim($ops);

Помогите разобраться почему переменная не получает значение из таблицы.



Собственно кусок скрипта:


<?php
error_reporting(E_ALL);
//session_start();
date_default_timezone_set('Europe/Moscow');


function substr_from_start_in_array($needle, $haystack) {
echo '<script type="text/javascript">console.log(\'Поиск табельного '.$needle.' по части строки\')</script>';
$pos = false;
foreach ($haystack as $key => $haystackElement) {
$foundedPosition = stripos($haystackElement, $needle);
$strlenNeedle = 0 + mb_strlen($needle, 'utf8');
$strlenHaystackElement = 0 + mb_strlen($haystackElement, 'utf8');

if($strlenHaystackElement > $strlenNeedle && $foundedPosition !== false && $foundedPosition === 0) {
$sym = substr($haystackElement, $strlenNeedle, 1);
$pregM = preg_match('/\D/i', $sym);
if($pregM == 1) {
$pos = $key;
break;
}
}
}


return $pos;
}


function fio_exists_in_array($fio, $arrayOfFio, $serialized = true) {
$pos = false;
$posArray = array();

$fioArray = explode(' ', $fio);

foreach ($arrayOfFio as $key => $haystackFio) {
if($serialized) {
$haystackFioArray = unserialize($haystackFio);
array_pop($haystackFioArray);
} else {
$haystackFioArray = $haystackFio;
}
if( count(array_diff($fioArray, $haystackFioArray)) == 0 ) {
$posArray[] = $key;
}
}

if(count($posArray) > 0) {
return $posArray;
}
return $pos;
}

function getFilterSqlColumnNotEmpty($elem) {
return !empty($elem['sql']);
}

function getSqlColumn($elem) {
return $elem['sql'];
}

function getUsernameColumn($elem) {
return $elem['Username'];
}

function filterOnlyWorkers($elem) {
return ( $elem['Role'] == 'worker' ? true : false );
}

function getDisplayColumn($elem) {
return $elem['Display'];
}

function getPassColumn($elem) {
return $elem['Password'];
}

$worker_positions = array(
//'n' => 'Начальник ОПС',
'z' => 'Заместитель начальника ОПС',
'zb' => 'Заместитель начальника ОПС (ОПС Будущего)',
'o1' => 'Оператор связи 1 класса',
'o2' => 'Оператор связи 2 класса',
'o3' => 'Оператор связи 3 класса',
'ob1' => 'Оператор по обеспечению деятельности (ОПС Будущего)',
'ob2' => 'Оператор по работе с клиентами (ОПС Будущего)'
//'p1' => 'Почтальон 1 класса',
//'p2' => 'Почтальон 2 класса',
//'p3' => 'Почтальон 3 класса'

);

$fldValueFio = 1;
$fldValuePas = 2;
$fldValueTabel = 3;

require_once('database_for_import.php');

$mess = false;

if(isset($_FILES['new_xlsx']) && !empty($_FILES['new_xlsx']) && $_FILES['new_xlsx']['error'] == 0) {
//echo $_FILES['new_xlsx']['type'].'<br>';

$arr_allowTypes = array(
0=>'application/vndopenxmlformats-officedocumentspreadsheetmlsheet',
1=>'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
2=>'application/excel'
);
if(in_array($_FILES['new_xlsx']['type'], $arr_allowTypes)) {

$basePath = rtrim(str_replace('\\', '/', realpath(dirname(__FILE__))), '/') . '/../';
move_uploaded_file($_FILES['new_xlsx']['tmp_name'], $basePath."excel/".$_FILES['new_xlsx']['name']);
$_SESSION['ops_number'] = $_FILES['new_xlsx']['name'];
$_SESSION['fio_col'] = $_POST['col_fio'];
$_SESSION['col_pas'] = $_POST['col_pas'];
$_SESSION['col_tabel'] = $_POST['col_tabel'];



//header('Location: ' . basename(__FILE__));
} else {
$mess = "Неверный формат файла";
}
}

else {
if(isset($_FILES['new_xlsx'])) {
$mess = "Файл не был выбран";
}
}


if(isSet($_SESSION['fio_col']))
{
$fldValueFio = ((int) $_SESSION['fio_col']);
}

if(isSet($_SESSION['col_pas']))
{
$fldValuePas = ((int) $_SESSION['col_pas']);
}

if(isSet($_SESSION['col_tabel']))
{
$fldValueTabel = ((int) $_SESSION['col_tabel']);
}


if(isSet($_SESSION['ops_number']))
{
//из bgimg//
$excelFile = rtrim(str_replace('\\', '/', realpath(dirname(__FILE__))), '/') . '/../excel/'.$_SESSION['ops_number'];

if( file_exists($excelFile) ) {
$ops = $_SESSION['ops_number'];
$ops = substr($ops, 0, strrpos($ops, '.xlsx') );
echo '<div style="color:red;">'.$ops.'</div>';
$ops = trim($ops);


$rowNumber = 2;
$colFio = ((int) $_SESSION['fio_col']) - 1;
$colPas = ((int) $_SESSION['col_pas']) - 1;
$colTabel = ((int) $_SESSION['col_tabel']) - 1;

$opsArray = array();
$opsIndexArray = array();
$opsSql = "SELECT * FROM `Posts_new` WHERE `PostIndex` NOT LIKE '-' AND `Address` NOT LIKE '' ORDER BY `Posts_new`.`PostIndex` ASC";
$opsRes = $mysqli->query($opsSql);

if($opsRes->num_rows > 0) {
while($row = $opsRes->fetch_assoc()) {
$opsArray[] = $row;
$opsIndexArray[] = $row['PostIndex'];
}
}



$currentOpsKey = array_search($ops, $opsIndexArray);
if($currentOpsKey === false) {
die('Загружаемое ОПС ' . $ops . ' нет в таблице PostIndex');
}


Это сообщение отредактировал SnoopCat - 4.10.2016 - 05:55
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1355
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 9 дней
Карма: 77




ну так ты записываешь оригинальное имя файла.
$_SESSION['ops_number'] = $_FILES['new_xlsx']['name'];
....

$ops = $_SESSION['ops_number'];


Это как так ? 0_о. Если есть - значит нет ?
    if(isset($_FILES['new_xlsx']))  {
$mess = "Файл не был выбран";
}


Это сообщение отредактировал Kusss - 4.10.2016 - 10:25
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса