小编Bri*_*ian的帖子

php exec()没有执行命令

我试图用exec()'whoami'来检查它是否有效,我得到了结果

nt authority\system
Run Code Online (Sandbox Code Playgroud)

现在我需要运行.exe带有phpvia exec()函数参数的文件.

我在命令提示符下尝试了这个,它实际上运行带有给定参数的程序.这是示例命令.


注意 exe文件获得3个输入(文件夹,file_name,report_file_nmae)

> ..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml
Run Code Online (Sandbox Code Playgroud)

但是当我从php文件中运行此命令时:

exec('..\..\some_file.exe folder="C:\path_to_folder" param=1.xml report=2.xml');
Run Code Online (Sandbox Code Playgroud)

一切都没有发生.这是我第一次使用exec()函数,所以我不熟悉它的细节.怎么了?

我试过用:

  • \\ 代替 \
  • escapeshellarg() 在目录上
  • 添加""了目录文件夹名称

没运气

附录:

echo exec($command)  // echos < .... why?
Run Code Online (Sandbox Code Playgroud)

要么

exec($command, $output);
print_r($output);        // Array()
Run Code Online (Sandbox Code Playgroud)

我甚至将文件的权限更改为对所有用户的完全控制权.如果我从中调用该程序command prompt,我可以看到时钟旁边出现的图标.

但同样的呼叫php甚至都不会调用该程序.

编辑

即使exec('notepad.exe');不工作.php可能需要对配置做些什么?

php windows exec

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

Angular 4材质是否像bootstrap一样响应?

我开始使用Angular 4的新项目,需要创建响应和愉快的用户界面.

我知道bootstrap并在以前的AngularJS应用程序中使用它,但角度材料对我来说是新的.它似乎很容易遵循文档,但我找不到响应支持.

我不想混合它们但是却无法找到引导程序提供的移动支持的列响应.

我错过了什么吗?角度材料是否支持相似的响应性,还是应该在我的应用中同时使用?

responsive-design angular-material2 angular

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

什么是Ext.namespace,我们应该如何使用它们?

我遇到了Ext.namespace()我正在进行的项目.
我查看了Sencha的网站,解释不是很有帮助.

这就是他们所说的:

创建用于作用域变量和类的名称空间,以使它们不是全局的.指定命名空间的最后一个节点会隐式创建所有其他节点.

Ext.namespace('Company', 'Company.data');
Run Code Online (Sandbox Code Playgroud)

他们还提到这Ext.ns('Company.data')是更可取的.

如果这个问题看似简单或愚蠢,我道歉,但我真的想完全理解这个概念.提前致谢

这对我来说不是很清楚:

  • 如果我Ext.namespace('Company', 'Company.data')在我的JS页面的顶部,这是否意味着它携带所有其他函数名称和变量(如全局范围)?
  • 究竟'Company'和'Company.data'代表Ext.namespace('Company', 'Company.data')什么?
  • 为什么新的会议Ext.ns('Company.data')没有像'公司'那样Ext.namespace
  • 这是什么意思Specifying the last node of a namespace implicitly creates all other nodes
  • 什么时候应该使用这个想法?

javascript namespaces extjs extjs4.2

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

Angular Material 7 拖拽时如何自定义CSS 拖拽、拖拽预览和拖拽占位符?

我找到了一些关于如何使用.cdk-drag-preview.cdk-drag-placeholder类的基本示例,当没有嵌套元素时,它们似乎可以完成这项工作。

基本上,我有一个动作列表,每个动作都以复杂的mat-card格式表示。这部分实际上是作为另一个组件完成的,但为了这个例子,我会尽可能地让它变得基本。

我的例子类似于这个结构:

<style>
    .my_action { border: 2px solid red; }
</style>

<div class="drop_area" cdkDropList>
    <div *ngFor="let action of actions"
        (cdkDragStarted)="dragStart($event, action)"
        (cdkDragMoved)="dragMoved($event, action)"
        (cdkDragEnded)="dragEnded($event, action)" cdkDrag>

        <mat-card class="my_action">
            {{ action.name }}
        </mat-card>

    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

在角分量中

dragStart(e, action) { 
    // initialize start X coord
    this.startX = 0;

    // initialize start Y coord
    this.startY = 0;
}

dragMoved(e, action) {
    // record new position
    this.endX = e.pointerPosition.x;
    this.endY = e.pointerPosition.y;

    // logic to set startX …
Run Code Online (Sandbox Code Playgroud)

html drag-and-drop angular-material angular angular7

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

如何使我的server.php连续运行?

因此,我有此服务器代码,并且可以与我的客户端一起使用。但是它从客户端获取一条消息,然后反向发送一条消息。这是代码:SERVER.php

<?php 

    $host = "127.0.0.1"; 
    $port = 1234; 

    // don't timeout! 
    set_time_limit(0); 

    // create socket 
    $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n"); 

    // bind socket to port 
    $result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n"); 

    // start listening for connections 
    $result = socket_listen($socket, 3) or die("Could not set up socket listener\n"); 

    // accept incoming connections 
    // spawn another socket to handle communication 
    $spawn = socket_accept($socket) or die("Could not accept incoming connection\n"); 

    // read client …
Run Code Online (Sandbox Code Playgroud)

php sockets client

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

警报Javascript数组对象显示为空

我正在尝试将JavaScript数组发送给我php,但是php变空[].
它甚至在我的浏览器中显示出来.我总是发送JSON并没有问题,但现在有这种格式.

我有这个没有意义的例子......它只是一个代码来说明问题:

var blah    = [];
var letters = ['a', 'b', 'c', 'd'];

for (var i = 0; i < letters.length; i++)
{
    blah[letters[i]] = i;
}
Run Code Online (Sandbox Code Playgroud)

里面firebug DOM显示如下:

blah      []
    a      0
    b      1
    c      2
    d      3
Run Code Online (Sandbox Code Playgroud)

当我做

  1. alert(blah) -------------------------------我变空了
  2. alert(JSON.stringify(blah)) -----我得到[]
  3. alert(blah.a) ----------------------------我得到0

那我怎么能把这个对象传递给php?谢谢

javascript php arrays

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

如何使用Dragula for Angular 2使某些div元素不可拖动

我已经能够成功地ng2-dragula与我的项目集成,但我仍然无法弄清楚如何制作一些div non draggable.

我试图使用一些css和htmls draggable="false"为div但没有成功.看起来就像我放的那样,dragula会在之后插入其指令并覆盖所有内容.也许我错了......

有谁知道如何实现这一目标?

例如:

<div [dragula]="'group'">
    <div>1</div>
    <div>2</div>
    <div [dragula]="'group'">
        <div>3</div>
        <div class="donotdrag">4</div>
        <div>5</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我如何使div同类donotdrag不可拖动?

html dragula ng2-dragula angular

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

如何在警报消息框中显示print_r()内容?

我知道每当我写

$food = array('fruit'=>'apple', 'veggie'=>'tomato', 'bread'=>'wheat');
$text = print_r($food, true);
echo $text;
Run Code Online (Sandbox Code Playgroud)

输出将是:

Array('fruit'=>'apple','veggie'=>'tomato','bread'=>'wheat')

但是,当我尝试通过警报消息框显示此消息时,它什么也没有显示。
我编写的js警报代码如下:

echo "<script type='text/javascript'> alert('{$text}') </script>"; 
Run Code Online (Sandbox Code Playgroud)

这是行不通的。当我为$ text分配一个不同的字符串时,它将起作用。似乎alert()不喜欢$ test字符串的格式。如果我这样写:

echo "<script type='text/javascript'> alert('Array('fruit'=>'apple', 'veggie'=>'tomato', 'bread'=>'wheat')') </script>";
Run Code Online (Sandbox Code Playgroud)

我得到正确的输出。所以不确定那里出了什么问题。

javascript php alert

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