Сильно не пинайте не спец в 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');
}