小编Log*_*gan的帖子

检查PHP会话是否已经启动

我有一个PHP文件,有时从已启动会话的页面调用,有时从没有启动会话的页面调用.因此,当我有session_start()这个脚本时,我有时会收到"会话已经开始"的错误消息.为此,我把这些行:

if(!isset($_COOKIE["PHPSESSID"]))
{
  session_start();
}
Run Code Online (Sandbox Code Playgroud)

但这次我收到了这条警告信息:

注意:未定义的变量:_SESSION

有没有更好的方法来检查会话是否已经开始?

如果我使用@session_start它会使事情正常工作,只是关闭警告?

php session session-variables

439
推荐指数
12
解决办法
42万
查看次数

如何获取字符串的所有字符的子字符串除了最后两位数字?(例如:031p2 >>获得031)

id = '01d0';
document.write('<br/>'+id.substr(0,-2));
Run Code Online (Sandbox Code Playgroud)

如何在01没有最后两个字符的情况下获得?诀窍是,如果我这样做,(0,2)它确实得到前2个数字,但这个ID也将是一个三位数...所以我只需要摆脱最后两位数.这适用substr于PHP,怎么(0,-2)用javascript不行?更重要的是我如何才能完成这项工作?

javascript substring

40
推荐指数
2
解决办法
3万
查看次数

如何捕获在C++中运行的命令的exit_code和stderr?

我正在编写一个c ++程序,它执行并输出(实时)shell脚本,makefile或其他程序.但是,当有错误或没有错误时,我希望我的程序返回不同.

#include "execxi.h"



using namespace std;


int execXI::run(string command)
{

    FILE *in;
    char buff[512];
    // is this the check for command execution exited with not 0?
    if(!(in = popen(command.c_str(), "r"))){
            // I want to return the exit code and error message too if any
        return 1;
    }
    // this part echoes the output of the command that's executed
    while(fgets(buff, sizeof(buff), in)!=NULL){
        cout << buff;
    }
    pclose(in);
    return 0;



}
Run Code Online (Sandbox Code Playgroud)

是我到目前为止.

假设这个脚本运行make来构建一个程序,它给出了一个错误

on_target_webkit_version out/Release/obj/gen/webkit_version.h
Traceback (most recent call …
Run Code Online (Sandbox Code Playgroud)

c++ popen exit-code stderr

16
推荐指数
2
解决办法
3万
查看次数

如果在此div之外和其他可拖动内部(使用无效和有效的恢复选项),则可拖动还原

在ui draggables(http://jqueryui.com/demos/droppable/#revert)上可以恢复一个div,如果它在一个div内,如果不在另一个div内?比如这样

$( "#draggable" ).draggable({ revert: "valid", revert:"invalid" });
Run Code Online (Sandbox Code Playgroud)

但由于显而易见的原因,这不会起作用..我可以这样做吗?...当它在这个可放置的内部而不是在那个可放置的内部时?

jquery drag-and-drop jquery-ui draggable jquery-ui-draggable

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

如何编写一个shell脚本来检查git存储库是否是最新的?

#!/bin/bash
#gedit tidy plugin
init=false
SRC_DIR=~/repos

DIRECTORY="Gedit-Clientside-Plugin"
#making repos directory
if [ ! -d "$SRC_DIR" ]; then mkdir $SRC_DIR; fi



if [ ! -d "$SRC_DIR/$DIRECTORY" ]; then
    init=true
    cd $SRC_DIR && pwd && git clone git://github.com/trentrichardson/Gedit-Clientside-Plugin.git && cd $DIRECTORY
else
    cd $SRC_DIR/$DIRECTORY
fi
#below here is what I'm having trouble with
git pull 1>&1 | grep "Already up-to-date."

if [[ ! $? -eq 0 && ! $init ]]; then
    read -e -p "## Branch moved, build and install Gedit-Clientside-Plugin? [Y/n] …
Run Code Online (Sandbox Code Playgroud)

git bash shell

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

如何使用CSS转换以正确的视角将两个或多个立方体放在一起?

我在Code Sandbox中设置了这个项目:

编辑Vue模板

屏幕截图(如果更改视口大小,多维数据集将不会如此):

截图

目标:

我的目标是能够将立方体彼此相邻或彼此顶部放置并保持堆叠,如填充卡车的后部:从卡车的深端开始,用盒子填充第一层,然后堆叠在顶部直到天花板; 在卡车装满之前,一直堆放在那些箱子前面.

此外,如果我们缩放屏幕,立方体的位置应该看起来仍然是彼此相邻的(在我的示例中,您可以看到不是这种情况).

我们可以使用Vue或Javascript来计算我们无法使用CSS计算的内容,但让我们尝试尽可能多地使用CSS.

数据:

我的标记是这样的:

<div class="container">
  <div class="cubes-container">
    <!-- for each cube --->
    <div class="cube-wrap" >
        <div class="cube depth cube-isometric">
          <div class="front-pane">cube 1</div>
          <div class="back-pane">back 1</div>
          <div class="top-pane">top 1</div>
          <div class="bottom-pane">bottom 1</div>
          <div class="left-pane">left 1</div>
          <div class="right-pane">right 1</div>
        </div>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

将立方体放在第一个立方体的右侧并不是一个好主意,这只适用于某些分辨率:

.cube-wrap:nth-child(2) .cube {
    transform: translate3d(142.5px, 50px, 125px) rotateX(-30deg) rotateY(-45deg);
    transform-style: preserve-3d;
}
Run Code Online (Sandbox Code Playgroud)

我左边的控件也不是很好.他们正在改变left和的top价值观.cube-wrap.如果输入数字,您可以看到立方体在移动.此外,如果添加一个立方体,您可以看到第三个立方体落在原点上.我打算使用这些控件来测试多维数据集的位置.

我尝试在容器上设置透视图以从该角度查看所有多维数据集:

.container {
  position: absolute;
  left: 240px;
  top: 0; …
Run Code Online (Sandbox Code Playgroud)

css css-transforms vue.js

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

是什么让编辑人员在富有所信仰的编辑器中将textarea上的数据粘贴为html?

我想从网站复制/粘贴html并将它们存储在mysql数据库中.要做到这一点,我已经检查了CKEditor,它允许我粘贴HTML,甚至word文档,它为它生成HTML代码.因为我想要的是"生成"粘贴的数据为html,而不是像CKEditor那样使用完整的所见即所得编辑器,我想编写一些代码(可能带有jquery)来将粘贴的数据转换为具有html标签和格式.

要实现此功能,这些在线编辑器会做什么?他们如何将剪贴板数据转换为HTML代码?为什么我在这里将html格式的文本或div或按钮粘贴到此textarea以及wysiwyg编辑器上的图像和正确大小的div时,只获得文本?

编辑是否访问剪贴板数据并对其进行操作?剪贴板是否以有组织的方式保存格式数据,允许"CKEditor"或其他人操纵它?

这可以用jQuery完成吗?或者我们还需要服务器端代码吗?

如果你能对这个问题有所了解,我将不胜感激.我只想知道方法,以便我可以为它编写适当的代码.

供参考:http://ckeditor.com/demo

html javascript wysiwyg

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

在 NodeJS 服务器之间发送文件的最有效方式是什么?

介绍

假设在同一个本地网络上,我们有两个使用 Express 设置的 Node JS 服务器:服务器 A 用于 API,服务器 F 用于表单。

  • 服务器 A 是一个 API 服务器,它接收请求并将其保存到 MongoDB 数据库(文件存储为 Buffer,其详细信息存储为其他字段)
  • 服务器 F 提供表单,处理表单发布并将表单数据发送到服务器 A。

在接收服务器是 Express API 的两个 NodeJS 服务器之间发送文件的最有效方法是什么?文件大小在哪里重要?

1.HTTP方式

如果我发送的文件是 PDF 文件(不会超过 50mb),将整个内容作为字符串通过 HTTP 发送是否有效?

算法如下:

  • 服务器 F 使用https://www.npmjs.com/package/multer处理文件请求并保存文件
  • 然后服务器 F 读取此文件并通过https://github.com/request/request以及文件的一些详细信息发出 HTTP 请求
  • 服务器 A 收到此请求并将文件内容从字符串转换为 Buffer 并将记录与文件详细信息一起保存在 MongoDB 中。

在这个算法中,Server A(存储到MongoDB时)和Server F(发送到Server A时)都将文件读入内存,两台服务器之间的请求大小与文件大小相同. (50Mb 的请求可以吗?)

但是,需要考虑的一件事是 - 使用这种方法 - 我将在整个过程中使用 ExpressJS 风格的 API,这将与应用程序的其余部分保持一致,其中/list,/details请求也在路由中定义。我喜欢一致性。

2.Socket.IO方式

与此算法相反,我探索了https://github.com/nkzawa/socket.io-stream方式,它脱离了服务器 A …

file-transfer node.js express

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

如何在drop事件jquery上获取被删除项的id

当我把东西丢给jquery droppable时,我想得到丢弃的项目的id.当我这样做的时候:

$("#here").droppable({
        tolerance: 'fit',
        accept: ".one",
         drop: function(){
            id = $(this).attr("id");
            alert (id);
        }
    });
Run Code Online (Sandbox Code Playgroud)

它当然提醒了droppable的id here.如何选择丢弃的div的id?

jquery drag-and-drop droppable jquery-selectors

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

在Linux中如何在Qt Creator中添加一个使用su权限而不会在构建时获得错误密码尝试的构建步骤?

我的目标是成功将文件夹链接到需要与sudo一起运行的/ opt /目录.

我试过这个:

 system(sudo ln -s $$OUT_PWD/xampp /opt/lampp):message("You should manually link LAMPP")
Run Code Online (Sandbox Code Playgroud)

但是从qt-creator构建它不会提示输入sudo密码,因此我无法将其链接到该文件夹​​.我在编译器输出中遇到"密码尝试错误..."错误.然后我用构建步骤尝试了这些:

make
sudo make install
Run Code Online (Sandbox Code Playgroud)

看它是否会在那里提示我,但它在make install步骤中失败了同样的错误,这是详细的:

00:31:20: Starting: "/usr/bin/sudo" make install
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
sudo: no …
Run Code Online (Sandbox Code Playgroud)

ubuntu sudo qmake qt-creator

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