小编art*_*pro的帖子

PHP - FTP文件名编码问题

我会简短的.我的FTP函数返回错误的文件名编码

$conn_id = ftp_connect("site.com");
ftp_login($conn_id, "login", "pass");
ftp_pasv($conn_id, true);
$buff = ftp_nlist($conn_id, "./");
print_r($buff);

->  // result
    array() {
        [0]=> "??.txt"
    }
Run Code Online (Sandbox Code Playgroud)

文件名具有Windows-1251编码.

我尝试通过nodejs连接到FTP,但它也返回令人毛骨悚然的东西 - òð.txt.

然而,我的桌面客户端(WinSCP)可以正常工作.

PS:我尝试使用utf8_encode - 但这也不适合我.

php ftp encoding

7
推荐指数
1
解决办法
5723
查看次数

PHP会话根本不起作用

我用这个函数测试了php会话

session_start();

$_SESSION['test'][] = time();

header('Content-type: text/plain');
print_r($_SESSION);
Run Code Online (Sandbox Code Playgroud)

从理论上讲,每次重新加载页面时都应该返回一个数组元素.但在我的情况下,由于某种原因,它总是显示单个元素.

所以我卡住了,请帮忙!

更新

我的服务器上的PHP版本是5.3.13这是我在会话部分的内容 在此输入图像描述

php session

6
推荐指数
1
解决办法
335
查看次数

npm为自定义模块安装"没有这样的文件或目录'.../package.json'"

我有一些符号链接的文件夹node_modules,以便能够将import它们作为模块.例如,我有src/client/apps/admin符号链接到的目录node_modules/@admin.但是当我尝试安装或删除任何模块时,npm给了我这些警告

$ npm i -S connect-roles
...

npm WARN ENOENT ENOENT: no such file or directory, open '/Users/Admin/Code/www/learn/src/client/apps/admin/assets/package.json'
npm WARN ENOENT ENOENT: no such file or directory, open '/Users/Admin/Code/www/learn/src/client/apps/admin/components/package.json'
npm WARN ENOENT ENOENT: no such file or directory, open '/Users/Admin/Code/www/learn/src/client/apps/admin/reducers/package.json'
npm WARN ENOENT ENOENT: no such file or directory, open '/Users/Admin/Code/www/learn/src/client/apps/admin/package.json'
Run Code Online (Sandbox Code Playgroud)

当然,我可以添加package.json到每个这样的文件夹,但我不想.必须有另一种更好的方法来做到这一点.在那儿?

PS:npm v3.5.3

node.js npm

5
推荐指数
1
解决办法
1万
查看次数

在 Liquid 中按索引为数组赋值

我处于一个有点复杂的循环中,我需要通过索引为数组分配一个值,这样如果该值已经存在,它将替换它,如果不存在,它将创建它。

所以我需要做这样的事情:

{% assign arr = '' | split: '' %}
{% assign arr[index] = value %}
Run Code Online (Sandbox Code Playgroud)

这不起作用,数组仍然是空的。

有什么解决方法可以做到这一点吗?

liquid shopify

5
推荐指数
1
解决办法
3904
查看次数

无法修改 CustomEvent 数据

每次单击附加不同数据的 div 时,我都需要触发自定义事件。

这是我的代码( JSFiddle )的简化变体:

<div onclick="selectItem(Math.random())">click me</div>

<script>
function selectItem(id) {
    var event_data = {
        myid: id
    };

    if (!arguments.callee.event)
        arguments.callee.event = new CustomEvent("selectItem", {detail: event_data});

    arguments.callee.event.detail = event_data; // no success here

    document.dispatchEvent(arguments.callee.event);
}

document.addEventListener("selectItem", function(event) {
    console.log(event.detail); // same thing all the time :(
});
</script>
Run Code Online (Sandbox Code Playgroud)

但在事件侦听器函数中,每次触发事件时我都会收到相同的数据。我之前尝试更改事件dispatchEvent,但似乎它是只读对象。

每次点击 div 时是否有其他选项可以发送不同的数据?

javascript events

4
推荐指数
1
解决办法
3028
查看次数

修改/ vendor目录中的文件并将更改提交到composer.lock?

我不得不修改供应商包(avatarguru/mustache-l5),它与最新版本的Laravel 5(dev)框架不兼容.但现在,当我composer status在项目的根目录中执行时,它会显示出来No local changes.我也尝试修改其他一些包 - 同样的事情......

如何将更改提交到composer.lock,以便其他开发人员不必再次修复相同的包?

php composer-php laravel-5

4
推荐指数
1
解决办法
2451
查看次数

获取"ArangoError:绑定参数'value1'未在查询中声明(解析时)"

我的Foxx应用程序中有这样的代码:

db._query(aqlQuery`
  FOR d IN FULLTEXT('api_texts', '${args.attribute}', '${args.search}')
    SORT d.${args.sort_by} ${args.sort}
    LIMIT ${args.skip}, ${args.limit}
    RETURN d
`).toArray()
Run Code Online (Sandbox Code Playgroud)

它似乎是正确的但由于某种原因它给了我一个错误bind parameter 'value1' was not declared in the query (while parsing).

我试图在arangosh...中运行它同样的错误:

arangosh [ilearn]> db._query({ "query" : "\n        FOR d IN FULLTEXT('api_texts', '@value0', '@value1')\n          SORT d.@value2 @value3\n          LIMIT @value4, @value5\n          RETURN d\n      ", "bindVars" : { "value0" : "title_en", "value1" : "1", "value2" : "created_at", "value3" : "ASC", "value4" : 0, "value5" : 10 } })
JavaScript exception in …
Run Code Online (Sandbox Code Playgroud)

arangodb foxx

4
推荐指数
1
解决办法
909
查看次数

如何检查结构成员是否存在于C中?

如何检查我的结构something在 C99 中是否有成员?

#include <stdlib.h>
#include <string.h>

struct some {
  char title[50];
  char name[50];
};

int main() {
  struct some s;

  if (*s.something) { // Error: no member named 'something' in 'struct.some'
    strcpy(s.something, "Hello");
  }
}
Run Code Online (Sandbox Code Playgroud)

更新:

我不需要知道它在编译时是否存在,而是在构建的程序中。成员及其值将从文件中解析,然后在循环中消耗到结构中,但我需要确保它会跳过所有不存在的成员。

c struct c99

2
推荐指数
1
解决办法
7722
查看次数

如何在Node.js中重新包含一个js文件

我没有在Google上找到任何真正解决这个问题的解决方案,所以......

有一个名为的模块vm,但人们说它很重.我需要一些简单的函数,比如PHP include,它就像包含文件的代码一样插入到你需要的代码中然后执行.

我试着创造这样的功能

function include(path) {
    eval( fs.readFileSync(path) + "" );
}
Run Code Online (Sandbox Code Playgroud)

但它并不那么简单......如果我在例子中告诉你为什么会更好.

假设我需要包含带有内容的file.js文件

var a = 1;
Run Code Online (Sandbox Code Playgroud)

相对文件看起来像这样

include("file.js");
console.log(a); // undefined
Run Code Online (Sandbox Code Playgroud)

正如您已经意识到的那样a是未定义的,因为它不是从函数继承的.

似乎唯一的方法是键入这个长令人毛骨悚然的代码

eval( fs.readFileSync("file.js") + "" );
console.log(a); // 1
Run Code Online (Sandbox Code Playgroud)

每次都没有包装函数,以便从文件中获取所有功能.

对每个文件使用requirewith module.exports也是一个坏主意......

还有其他方法吗?

javascript node.js

0
推荐指数
1
解决办法
209
查看次数

标签 统计

php ×3

javascript ×2

node.js ×2

arangodb ×1

c ×1

c99 ×1

composer-php ×1

encoding ×1

events ×1

foxx ×1

ftp ×1

laravel-5 ×1

liquid ×1

npm ×1

session ×1

shopify ×1

struct ×1