Задать вопрос
  • Как в .htaccess перенаправлять запросы в index.php при отсутствии папки или файла?

    @Ablovka Автор вопроса
    ThunderCat, так понимаю вернется false и восклицательный знак лишний?
    Написано
  • Как в .htaccess перенаправлять запросы в index.php при отсутствии папки или файла?

    @Ablovka Автор вопроса
    В цикле проверяется наличие папки/файла, при отсутствии передает значения в функцию CreateFolder, там проверяется, передан путь или изображение. Если путь до папки, то создается папка и снова вызывается функция GetImg. И так вплоть до того, пока в CreateFolder не придет весь путь до изображения, там уже вызовется функция ImgDownloader, загрузит изображение и передаст значение пути в GetImg. Последняя функция уже найдет файл и выдаст его.
    Проверьте следующий код в консоли и вы поймете мою логику.
    spoiler
    let req = 'forum/user/pub/img.png'
    let path = req.split('/')
    let folder = ''
    for(let i = 0; i < path.length; i++){
        folder += '/' + path[i]
        console.info(folder)
        if(folder.split('.').length == 2 && folder == ('/'+req)){ // если нужные папки уже создались, но картинка не нашлась и folder == req
            console.info(`Image path: "${folder}"`, `Image file: "${path[i]}"`)
        }
    }
    Написано
  • Как в .htaccess перенаправлять запросы в index.php при отсутствии папки или файла?

    @Ablovka Автор вопроса
    Спасибо за советы. По поводу безопасности вопрос не актуален, т.к. вы уже сказали, что всегда приходит стринг.

    spoiler
    if(!file_exists(folder)) { // проверка на существование папки / файла (так папки или файла?)
        CreateFolder(folder, req) //а если это файл, все равно создаем папку с таким именем?
        return //то есть вложенность больше 1 уровня папки создаваться не будут? 
    }

    Как вы могли заметить, проверяется существование папки, потом подпапки, потом самого файла.
    Без практики не совсем понимаю, как php сохраняет файлы. Допустим нужно сохранить 'img.png' в 'user/forum/', Но 'user/forum/' еще не существует. Можно ли сразу сохранить 'user/forum/img.png'? Создадутся ли папки и подпапки автоматически?
    Написано
  • Почему MySQL возвращает пустое значение?

    @Ablovka Автор вопроса
    dollar, в том то и дело, что можно было вписать значения в самом скрипте. Моя цель заключалась в том, что бы через сайт можно было менять стартовые деньги/здоровья/броню и т.п., которые указаны в "Значение по умолчанию". Конечно, можно было создать отдельную таблицу с "дефолтными" значениями и при первом спавне персонажа устанавливать ему данные значения, а при выходе персонажа с сервера записывать данные уже в саму таблицу с юзерами. Но я почему то захотел, что захотел :) По сути, что там чтение-запись, что тут чтение-запись.
  • Почему MySQL возвращает пустое значение?

    @Ablovka Автор вопроса
    dollar, изменение типа на MyISAM решило проблему (по дефолту стояло InnoDB). Полагаю, лучше оставить таймер и InnoDB, т.к. только в этом месте нужно мгновенное считывание после записи. В дальнейшем планируется несколько тысяч, а то и десятков записей, к которым будет много запросов.
  • Почему MySQL возвращает пустое значение?

    @Ablovka Автор вопроса
    dollar, проблема решена. Возможно, костыль, но таймер на 2 секунды между записью и чтением помог. Не знаю, с чем это связано. Надо было сразу попробовать 2000 мс, но я думал, что и 1000 мс многовато.
  • Почему MySQL возвращает пустое значение?

    @Ablovka Автор вопроса
    dollar, нет, не последовательно. Искал по ключу, который уже есть в БД.

    Почистил БД, заменил
    local sNU = query("SELECT * FROM userinfo WHERE nickname = '"..tostring(inputs1).."'")

    на
    local sNU = query("SELECT * FROM userinfo WHERE nickname = 'testTest123'")

    И снова возвращается nil

    sNU[0] возвращает nil
  • Почему MySQL возвращает пустое значение?

    @Ablovka Автор вопроса
    dollar, Написал отдельный скрипт для записи и вывода данных. При первом запуске ничего не выводит, при втором выводит то, что было при первом запуске. Может ли это быть связано с тем, что Lua считает индексы от 1, а не от 0? Еще не до конца разобрался в этом языке.
    local dbHost = 'localhost'
    local dbName = 'test'
    local dbUsername = 'root'
    local dbPassword = ''
    
    function query(...)
    	local queryHandle = dbQuery(dbConnect('mysql','host='..dbHost..';dbname='..dbName, dbUsername, dbPassword), ...)
    	if (not queryHandle) then
    		return nil
    	end
    	local rows = dbPoll(queryHandle, -1)
    	return rows
    end
    
    
    addEventHandler("onResourceStart", resourceRoot, function()
    
    		local usrSerial = "4AF00E3E63A0DB4C3C5E4E8FE4560DB4"
    		local inputs1 = "testTest123"
    		local inputs2 = "testPswd123"
    
    		local addA = query("INSERT INTO userinfo (serial, nickname, password) VALUES ('"..tostring(usrSerial).."','"..tostring(inputs1).."','"..tostring(inputs2).."')")
    			if(addA) then
    				outputDebugString('INSERT Success')
    				local sNU = query("SELECT * FROM userinfo WHERE nickname = '"..tostring(inputs1).."'") -- ищем игрока в базе по имени
    				if (sNU) then
    					outputDebugString('SELECT Success')
    						for _, row in ipairs(sNU) do -- перебираем данные из базы
    							posX = row['posX'] -- позичия X
    							posY = row['posY'] -- позичия Y
    							posZ = row['posZ'] -- позичия Z
    							usrHealth = row['health'] -- здоровье
    							w11 = row['w11'] -- 11 слот оружия
    							usrTeam = row['team'] -- команда
    							usrSkinID = row['skin'] -- скин
    							usrMoney = row['money'] -- деньги
    							usrArmor = row['armor'] -- броня
    							outputDebugString('posX: '..posX)
    							outputDebugString('posY: '..posY)
    							outputDebugString('posZ: '..posZ)
    							outputDebugString('usrHealth: '..usrHealth)
    							outputDebugString('w11: '..w11)
    							outputDebugString('usrTeam: '..usrTeam)
    							outputDebugString('usrSkinID: '..usrSkinID)
    							outputDebugString('usrMoney: '..usrMoney)
    							outputDebugString('usrArmor: '..usrArmor)
    						end
    				else
    					outputDebugString('SELECT Failed')
    				end
    			else
    				outputDebugString('INSERT Failed')
    			end
    			
    end)
  • Почему MySQL возвращает пустое значение?

    @Ablovka Автор вопроса
    dollar, outputDebugString стандартная функция для вывода сообщений в консоль управления сервером Multi Theft Auto. Отключается/Включается в конфиге
  • Почему MySQL возвращает пустое значение?

    @Ablovka Автор вопроса
    dollar, выдает "GOOD".
    Если переменную приравнивать к заранее созданному значению в БД, то возвращает все запрашиваемые значения. Думал, может библиотека для работы с БД тупит, делал задержку между записью и чтением в 1сек., путем установки setTimer(function() end, 1000, 1)

    Еще что замечал, когда в ручную тестировал функции - проверял, что возвращает dbPoll. При очистке БД (TRUNCATE) dbPoll возвращал данные, которые, по сути, уже не существуют. Так же по ключу делал запрос. Не знаю, с чем это может быть связано
  • Почему MySQL возвращает пустое значение?

    @Ablovka Автор вопроса
    outputDebugString('LOGIN: '..tostring(inputs[1]))

    Пробовал так. С длиной тоже все в порядке. Может mysql обрабатывает неверно? Или с utf8 проблемы?
  • Почему NodeJS останавливается на KVM?

    @Ablovka Автор вопроса
    Забыл добавить, что работает на CentOS 7
  • Как убрать блокировку экрана в играх во время обучения?

    @Ablovka Автор вопроса
    Вы не так поняли. Настройки в самой игре не открыть. Надо проходить обучение. А мне надо открыть настройки и ввести код.
  • Почему перегреваются преобразователи питания на материнке?

    @Ablovka Автор вопроса
    15432, до этого не было проблем. В игре еще курсор "замораживало" на долю секунды. Думаю, всё же южному мосту скоро конец
  • Как подобрать слово по маске?

    @Ablovka Автор вопроса
    Сергей Соколов, подойдет и так. Ибо в задании несколько слов и надо составить фразу.
  • Как осуществить продолжение/перезапуск работы скрипта JS при отсутствии переменной?

    @Ablovka Автор вопроса
    [34m[2017-06-29 10:07:17.992] [TRACE] [default] - [39mParsing launched
    [34m[2017-06-29 10:07:18.951] [TRACE] [default] - [39mParsing finished 959ms.
    [34m[2017-06-29 10:07:20.362] [TRACE] [default] - [39mUpdated 1348 items
    [34m[2017-06-29 10:07:20.362] [TRACE] [default] - [39mLeave time: 2370 ms.
    [34m[2017-06-29 10:07:20.362] [TRACE] [default] - [39mTotal items: 4880 
    
    [34m[2017-06-29 10:07:33.004] [TRACE] [default] - [39mParsing launched
    [34m[2017-06-29 10:07:33.151] [TRACE] [default] - [39mParsing finished 147ms.
    [33m[2017-06-29 10:07:33.151] [WARN] [default] - [39mSite unavailable
    [34m[2017-06-29 10:07:48.016] [TRACE] [default] - [39mParsing launched
    [34m[2017-06-29 10:07:48.170] [TRACE] [default] - [39mParsing finished 154ms.
    [33m[2017-06-29 10:07:48.170] [WARN] [default] - [39mSite unavailable
    [34m[2017-06-29 10:08:03.020] [TRACE] [default] - [39mParsing launched
    [34m[2017-06-29 10:08:03.177] [TRACE] [default] - [39mParsing finished 157ms.
    [33m[2017-06-29 10:08:03.178] [WARN] [default] - [39mSite unavailable
    [34m[2017-06-29 10:08:18.034] [TRACE] [default] - [39mParsing launched
    [34m[2017-06-29 10:08:18.205] [TRACE] [default] - [39mParsing finished 171ms.
    [33m[2017-06-29 10:08:18.205] [WARN] [default] - [39mSite unavailable
    [34m[2017-06-29 10:08:33.046] [TRACE] [default] - [39mParsing launched
    [34m[2017-06-29 10:08:33.186] [TRACE] [default] - [39mParsing finished 140ms.
    [33m[2017-06-29 10:08:33.186] [WARN] [default] - [39mSite unavailable
    [34m[2017-06-29 10:08:48.059] [TRACE] [default] - [39mParsing launched
    [34m[2017-06-29 10:08:48.995] [TRACE] [default] - [39mParsing finished 936ms.
    [34m[2017-06-29 10:08:50.363] [TRACE] [default] - [39mUpdated 1347 items
    [34m[2017-06-29 10:08:50.363] [TRACE] [default] - [39mLeave time: 2304 ms.
    [34m[2017-06-29 10:08:50.363] [TRACE] [default] - [39mTotal items: 4882 
    
    [34m[2017-06-29 10:09:03.071] [TRACE] [default] - [39mParsing launched
    [34m[2017-06-29 10:09:04.057] [TRACE] [default] - [39mParsing finished 986ms.
    [34m[2017-06-29 10:09:06.258] [TRACE] [default] - [39mUpdated 1347 items
    [34m[2017-06-29 10:09:06.258] [TRACE] [default] - [39mLeave time: 3187 ms.
    [34m[2017-06-29 10:09:06.258] [TRACE] [default] - [39mTotal items: 4882


    nohup выдаёт это. Всё отлично работает и не останавливается. Благодарю
  • Как установить Windows 8.1 на второй диск ssd?

    @Ablovka Автор вопроса
    Винда х64 весит 4.5гб, х86 3.8гб
  • Как найти утечку памяти в node js?

    @Ablovka Автор вопроса
    ArcadyZherdev: БД как раз такие ест около 7-8мб диска. Но у меня хостинг на HDD. Полагаю, ему это не страшно
  • Как подключить .js на сторонний сайт, если сайт HTTPS, а js находится на HTTP?

    @Ablovka Автор вопроса
    Как так то? Я же, считай его к себе загружаю и использую у себя. Не уж то нельзя никак?