1. PHP / Говнокод #8252

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    function get_uri()
    {
    	// Path corrector //
    	$path_correct = str_replace("http://","",$_SERVER['REQUEST_URI']);
    	
    	if (($path_correct[strlen($path_correct)-1] != "/") and (!preg_match("#[\.|\?]#i",$path_correct))) {
    	        header("Location: {$_SERVER['REQUEST_URI']}/"); exit;
    	    }
    	// Path parser //
    	$request = str_replace("http://","",$_SERVER['REQUEST_URI']);
    	$params = strpos($request,"?");
    	if ($params>0) { $request = substr($request,0,$params); }
    	@list($ignore,$path) = @explode("/",$request,2);
    	$CRT['PATH'] = @explode("/",$path);
    	if ($CRT['PATH'][count($CRT['PATH'])-1] == "") { unset($CRT['PATH'][count($CRT['PATH'])-1]); }
    	
    	return $CRT['PATH'];
    }

    Пиздец.
    Думаю, какого хрена я отсылаю форму постом, а приходит гет.
    Такое только на пиэйчпи могли написать.

    Запостил: Nicklasos, 20 Октября 2011

    Комментарии (16) RSS

    • Надо форму отправлять на /some/url/, а не на /some/url (без слеша вконце), а то перекинет на такой же адрес, но со слешем вконце и уже гетом.
      Ответить
    • Вспомнилась фича Spring Framework превращать POST и GET запросы в PUT и DELETE
      Ответить
      • Ох лол. А поподробней можно.
        Ответить
        • http://blog.springsource.com/2009/03/08/rest-in-spring-3-mvc/
          HTTP Method Conversion
          Ответить
          • Благодарю. Теперь я понял о чем речь, но это фича не спринга, а спецификации Jax-Rs.
            Кстати там об этом написано
            >Additionally, there are already three JAX-RS implementations offering Spring support (Jersey, RESTEasy, and Restlet)
            Ответить
            • Что-то я полистал спеку и не смог найти описания механизма поддержки клиентов, не способных посылать PUT и DELETE запросы (то, что я имел в виду в самом первом посте). Не подскажите пункт?
              Ответить
              • Так там же обычный фильтр-сервлет. Он к JAX-RS отношения не имеет. И в спецификации этого быть не может. При желании можно и свой такой наваять.

                >но это фича не спринга, а спецификации Jax-Rs.
                имелось ввиду, что аннотированные методы, которым все-равно какой тип запроса - это фича Jax-Rs.
                Ответить
                • > Вспомнилась фича Spring Framework превращать POST и GET запросы в PUT и DELETE
                  Имелось в виду наличие хитрого тега form и специального фильтра для преобразования HTTP-метода
                  Ответить
                  • это ж можно делать на юзер-агенте с помощью XHR
                    Ответить
    • что-то собачек маловато
      Ответить

    Добавить комментарий