Ответы пользователя по тегу PHP
  • Почему move_upload_file сохраняет файлы torrent, apk как папку?

    Если у вас $_POST['path'] содержит только путь, то добавляйте явно название файла.
    $filepath = sprintf('/%s/%s', $_POST['path'], $_FILES['file']['name'])
    move_uploaded_file($_FILES['file']['tmp_name'], $filepath);
    Ответ написан
    Комментировать
  • Можно ли объявить в абстрактном классе абстрактное свойство (в PHP)?

    Представь, ты разрабатываешь API для отправки прочты и тебе захотелось по мимо build-in реализация отправки почты (функция mail) реализовать еще несколько вариантов, например использовать сервис Mailgun. API ты конечно же разрабатываеть, чтоб им пользовались другие разработчики, и ты прекрасно понимаешь, что сторонний разработчик может захотеть отправлять и через другие сервисы, например тот же mailchimp. Твоя задача предоставить понятный "интерфейс" стороним разработчикам. Например каждый новый provider должен реализовать методы setSubject, setBody, send, к ним аргументы, а так же ты указываешь в документации, что должны возвращать эти методы. Все, ты подготовил "интерфейс". Теперь я реализую его. Какие я там буду создавать свойства - это уже не касается интерфейса. Да хоть global variable использовать, это уже не его дело. Вот и подумай, нужны ли вообще абстрактные свойства
    Ответ написан
    2 комментария
  • Как объединить htaccess?

    RewriteEngine On
    RewriteRule ^user/(.+)$ /profile.php?username=$1 [L] # все запросы user/* будет обрабатывать profile.php
    
    RewriteCond %{REQUEST_FILENAME}\.php -f # если {query}.php
    RewriteRule ^(.*)$ $1.php # то {query} будет обрабатывать {query}.php

    Условие RewriteCond %{REQUEST_FILENAME} !-d я не стал вкладывать в код намерено для ясности
    Ответ написан
    6 комментариев
  • Как заставить php build-in сервер отдавать несуществующую статику?

    dakiesse
    @dakiesse Автор вопроса
    Разобрался, оказывается build-in сервер не поддерживает .htaccess. Релизовывать роутинг необходимо средствами php.

    <?php
    # routing.php
    if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
        return false;
    } else {
        include __DIR__ . '/index.php';
    }


    Далее запускаем сам сервер с кастомной точкой входа

    php -S localhost:8000 routing.php

    PS. Данный пример все равно не будет отдавать сгенерированный js, но тут уже можно дописать
    Ответ написан
    Комментировать