小编Sim*_*ton的帖子

如何递归迭代PHP中的文件?

我已经设置了一个基本脚本,它发布了一系列路径来查找其中的模板文件; 目前它只搜索两个级别的深度,我遇到了一些麻烦,让我的头围绕逻辑​​进行广泛循环迭代所有子目录,直到长度为0.

所以,如果我有这样的结构:

./components
./components/template.html
./components/template2.html
./components/side/template.html
./components/side/template2.html
./components/side/second/template.html
./components/side/second/template2.html
./components/side/second/third/template.html
./components/side/second/third/template2.html
Run Code Online (Sandbox Code Playgroud)

它只搜索.html文件的"side"目录,理想情况下我希望它检查所有子目录和.html文件的传递目录.到目前为止,这是我的工作代码:

<?php
function getFiles($path){
    $dh  = opendir($path);
    foreach(glob($path.'/*.html') as $filename){
        $files[] = $filename;
    }
    if (isset($files)) {
        return $files;
    }
}
foreach ($_POST as $path) {
    foreach (glob($path . '/*' , GLOB_ONLYDIR) as $secondLevel) {
        $files[] = getFiles($secondLevel);
    }
    $files[] = getFiles($path);
}
sort($files);
print_r(json_encode($files));
?>
Run Code Online (Sandbox Code Playgroud)

php loops

15
推荐指数
2
解决办法
3840
查看次数

ES6为什么我可以在循环中定义时重新分配常量

我正在玩一些毫无意义的逻辑来更好地理解ES6,并且在定义常量时注意到了一个奇怪的现象.

在循环中定义时,似乎可以更改常量赋值:

        "use strict";

        for(const i=0;i<10;i++){ //seting constant in loop
            console.log(i); //is reassigned and incremented 0,1,2,3...
        }


        const e = 0; //setting constant outside loop
        for(;e<10;e++){ //cannot reassign constant
            console.log(e);
        }
Run Code Online (Sandbox Code Playgroud)

这是预期的行为,任何人都可以解释为什么会发生这种情况,循环中的声明是否不同?

在此输入图像描述


Statements/const更新

此声明创建一个常量,该常量可以是声明它的函数的全局或局部.常量是块范围的.

javascript ecmascript-6

9
推荐指数
1
解决办法
1191
查看次数

将数据插入Access重复数据错误

我写了一些vbscript,它从另一个数据库中的表更新一个访问数据库中的所有新字段但是我遇到了重复主键的问题.

我无法更改数据库的结构,因此我无法删除主键,但理想情况下我希望它自动填充主键.这是我的表结构(它们是两个表)

表'订单':

Order Sequence Number   About 20 more rows of data that do not have to be unique
a primary key e.g 2     other data
Run Code Online (Sandbox Code Playgroud)

表'OrderDetail':

OrderDetail     OrderSequence       Some other rows that don't need to be unique
a primary key   the key from Order  some other data
Run Code Online (Sandbox Code Playgroud)

我的第一个问题是让两个表的主键自动填充,因此它们是唯一的,然后我的第二个问题是匹配正在添加的两行,如果主键在'Order'表中更改为'Order Sequence Number'更新它在'OrderDetail'表中的'OrderSequence'上.

这是我的vbscript,它可以复制值,如果它们是唯一的:

Public Function dhupdate1()

    'Temp field
    Dim fField As Field
    Dim bCopy As Boolean

    'Open source database
    Dim dSource As Database
    Set dSource = CurrentDb

    'Open dest database
    Dim …
Run Code Online (Sandbox Code Playgroud)

ms-access ms-access-2007 access-vba

8
推荐指数
1
解决办法
1371
查看次数

获取相对于饼图的鼠标位置(等式)

我已经从一组数据创建了一个画布饼图,我现在正试图找到相对于饼图的鼠标位置,以检测哪些数据部分正在悬停.我几乎在那里,但我被困在一个等式.

我的逻辑运作正常,所以我认为这更像是一个数学问题,但会看到别人对我的方法的看法.这是我的饼图和我正在使用的变量:

饼图示例

图像上列出的变量是我必须使用的变量(mouseX,mouseY,距离中心的距离,半径,pi的环绕度以及圆周上相对于pi的数据点的部分).

图表的起始部分是从右边开始,从pi*2的0开始到pi*2的100%,灰色部分的起始位置为1.34 ...相对于饼图*2和结束位置2.228 ...

我目前的主要问题是使用像素测量来计算它相对于pi的位置.我可以从上到左检查位置,然后计算出距离中心的距离,并根据pi计算出从中心开始的线,但是我很难计算这个.

javascript math jquery pi

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

Git在本地保存远程连接密码,通过root连接@

我想首先说我对git是全新的,所以我可能做错了方法,但我正在尝试关注这里的帖子和在线指南.我知道这可能是一个愚蠢的帖子,但我只是一个网页设计师,所以非常基本的这些东西,会欣赏任何关于我这样做的建议,或者是否有更好的方法.

我在我的centos vps上安装了git,然后在我的网站中设置我的存储库,位置在这里:

/var/www/vhosts/server.userfarmer.com/userfarmer/userfarmer.git

.git文件夹之前的userfarmer文件夹是我的主要网站目录,我试图通过git将我的网站从本地机器上传到此文件夹.我使用以下方法在ssh上设置:

mkdir userfarmer.git
cd userfarmer.git
git --bare init
Run Code Online (Sandbox Code Playgroud)

然后我使用以下方法在本地设置git远程连接:

git remote add origin root@serverip:/var/www/vhosts/server.userfarmer.com/userfarmer/userfarmer.git

现在我可以连接到这个罚款,但每次我都需要我的root密码,无论如何保存这个,所以每次我推动时都不需要它.

非常感谢任何建议,这对我来说都是全新的,谢谢,西蒙

linux git centos

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

使用初始状态来反应useState钩子事件处理程序

我仍然不停地做出反应,但仍在努力查看我在这里做错了什么。我有一个用于调整面板大小的组件,在边缘的onmousedown上更新状态值,然后为mousemove使用事件处理程序,该事件处理程序使用该值,但是在值更改后似乎没有更新。

这是我的代码:

export default memo(() => {
  const [activePoint, setActivePoint] = useState(null); // initial is null

  const handleResize = () => {
    console.log(activePoint); // is null but should be 'top|bottom|left|right'
  };

  const resizerMouseDown = (e, point) => {
    setActivePoint(point); // setting state as 'top|bottom|left|right'
    window.addEventListener('mousemove', handleResize);
    window.addEventListener('mouseup', cleanup); // removed for clarity
  };

  return (
    <div className="interfaceResizeHandler">
      {resizePoints.map(point => (
        <div
          key={ point }
          className={ `interfaceResizeHandler__resizer interfaceResizeHandler__resizer--${ point }` }
          onMouseDown={ e => resizerMouseDown(e, point) }
        />
      ))}
    </div>
  ); …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs react-hooks

4
推荐指数
5
解决办法
791
查看次数

从数组中获取最近的纬度和经度

我正在尝试编写一个性能导向的数组查找,它将返回相对于用户当前位置最近的经度和纬度.

一个问题是我在我的阵列中有5000个位置,我需要循环所有结果尽可能快地返回最近的结果,我也遇到过滤器的问题,因为它目前正在返回错误的结果(我相信是由于查找只查找最接近当前的负数)

这是我的代码:

    if(has('geolocation')){

            navigator.geolocation.getCurrentPosition((position) => {

                // Example result from getCurrentPosition (this is my exact location)
                //
                // position.coords = {
                //  latitude: 51.4523,
                //  longitude: -0.9724
                // }

                // This is the nearest location
                //
                // location = {
                //  latitude: 51.457495699999996,
                //  longitude: -0.973083
                // }

                // This is the location my filter keeps returning
                //
                // location = {
                //  latitude: "50.6931",
                //  longitude: "-4.0094",
                //  name: "Yes Tor"
                // }

                let closest = this.locations.filter((location) => …
Run Code Online (Sandbox Code Playgroud)

javascript arrays loops

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

如果输入以值开头,则为JQuery

我正在设法使用以下内容检查邮政编码输入字段中的值:

HTML:

<input type="text" class="cart-postcode2" size="10" tabindex="22">
Run Code Online (Sandbox Code Playgroud)

JQuery的:

$('.cart-postcode2').keyup(function(){
    var value = $(this).val();
    if (value.indexOf('BT') >= 0) {
      alert("is ireland");
    }
})
Run Code Online (Sandbox Code Playgroud)

这工作得很好但是我希望它仅在它以BT开始并且在值的任何部分都不包含BT时发出警报,有人知道这是否可能?

所以键入BT2 9NH会提示"爱尔兰",但输入OX2 8BT则不会

javascript jquery

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