美文网首页
PHP 扩展 - dirname

PHP 扩展 - dirname

作者: Bun_Wong | 来源:发表于2016-07-06 15:47 被阅读37次

    AZALEA 项目中我需要获取 $_SERVER['SCRIPT_NAME']dirname,Zend 提供了 zend_dirname 方法来修改传入的字符串

    zval *server, *field;
    zstring *baseUri = NULL;
    
    server = zend_hash_str_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER") - 1);
    if (Z_TYPE_P(server) == IS_ARRAY) {
        if ((field = zend_hash_str_find(Z_ARRVAL_P(server), AZALEA_STRING("SCRIPT_NAME"))) &&
                Z_TYPE_P(field) == IS_STRING) {
            // 获取到了 $_SERVER['SCRIPT_NAME']
            baseUri = zend_string_dup(Z_STR_P(field), 0);
            // dirname 修改 baseUri
            ZSTR_LEN(baseUri) = zend_dirname(ZSTR_VAL(baseUri), ZSTR_LEN(baseUri));
        }
    }
    if (!baseUri) {
        baseUri = zend_string_init("/", sizeof("/") - 1, 0);  // 默认
    }
    
    zend_string_release(baseUri);  // 最后不要忘记了释放
    

    相关文章

      网友评论

          本文标题:PHP 扩展 - dirname

          本文链接:https://www.haomeiwen.com/subject/fzukjttx.html