Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP jquery ajax从文件夹中取消图像链接无效_Php_Javascript_Jquery_Unlink - Fatal编程技术网

PHP jquery ajax从文件夹中取消图像链接无效

PHP jquery ajax从文件夹中取消图像链接无效,php,javascript,jquery,unlink,Php,Javascript,Jquery,Unlink,我试图显示和删除存储在文件夹中的图像,但我无法运行删除每个图像的JS代码 index.php中的我的代码php: // folder with files $pathimages = $_SERVER['DOCUMENT_ROOT']; $pathimages .= "/uploads/files/"; // showing images foreach(glob($pathimages.'*') as $filename){ $ext = pathinfo($filename

我试图显示和删除存储在文件夹中的图像,但我无法运行删除每个图像的JS代码

index.php中的我的代码php:

// folder with files    
$pathimages = $_SERVER['DOCUMENT_ROOT'];
$pathimages .= "/uploads/files/";

// showing images
foreach(glob($pathimages.'*') as $filename){
    $ext = pathinfo($filename, PATHINFO_EXTENSION);
    $name_only = basename($filename, ".".$ext);

    echo "<img src=\"../uploads/files/" .$name_only.".".$ext. "\" width=\"30\" />
        <a onclick=\"DeleteImage(".$name_only.",".$ext."); return false;\" href=\"javascript:;\">X</a>
        <br />";
}
 function DeleteImage(name_only, ext){
    var parametros = {
        "name_only" : name_only,
        "ext" : ext
    };

    $.ajax({
        url: 'views/delete_image.php',
        type: "POST",
        data: parametros,
        success: function(datos){
            console.log("check");
        }
    });
}
$name_only = $_POST['name_only'];
$ext = $_POST['ext'];

$pathimages = $_SERVER['DOCUMENT_ROOT'];
$pathimages .= "/uploads/files/";

unlink($pathimages . $name_only .".". $ext);
echo "Deleted";
和删除文件php:

// folder with files    
$pathimages = $_SERVER['DOCUMENT_ROOT'];
$pathimages .= "/uploads/files/";

// showing images
foreach(glob($pathimages.'*') as $filename){
    $ext = pathinfo($filename, PATHINFO_EXTENSION);
    $name_only = basename($filename, ".".$ext);

    echo "<img src=\"../uploads/files/" .$name_only.".".$ext. "\" width=\"30\" />
        <a onclick=\"DeleteImage(".$name_only.",".$ext."); return false;\" href=\"javascript:;\">X</a>
        <br />";
}
 function DeleteImage(name_only, ext){
    var parametros = {
        "name_only" : name_only,
        "ext" : ext
    };

    $.ajax({
        url: 'views/delete_image.php',
        type: "POST",
        data: parametros,
        success: function(datos){
            console.log("check");
        }
    });
}
$name_only = $_POST['name_only'];
$ext = $_POST['ext'];

$pathimages = $_SERVER['DOCUMENT_ROOT'];
$pathimages .= "/uploads/files/";

unlink($pathimages . $name_only .".". $ext);
echo "Deleted";
我有一些类似的东西,但在数据库中的记录和工作正常,使用获取方法,删除,编辑等,但这里的问题开始。非常感谢,我为我的英语道歉。

你能补充一下吗

 echo $pathimages . $name_only .".". $ext;
导入deletefile.php

我认为$ext是重复的。但是我不确定。

你能补充一下吗

 echo $pathimages . $name_only .".". $ext;
导入deletefile.php


我认为$ext是重复的。但我不确定。

因为这是一个javascript错误,请看下面几行代码:

<img src=\"../uploads/files/" .$name_only.".".$ext. "\" width=\"30\" />
        <a onclick=\"DeleteImage('".$name_only."','".$ext."'); return false;\" href=\"javascript:;\">X</a>
        <br />



您必须在javascript中添加引号。

由于这是一个javascript错误,请查看以下代码行:

<img src=\"../uploads/files/" .$name_only.".".$ext. "\" width=\"30\" />
        <a onclick=\"DeleteImage('".$name_only."','".$ext."'); return false;\" href=\"javascript:;\">X</a>
        <br />



您必须在javascript中添加引号。

我认为不可能给出答案。问题可能在任何地方。我会考虑: 我页面上是否显示图像? 二,。在DeleteImage中放置一个调试点,并查看Parameteros实际上是什么。这也将检查它是否被调用。 iii.是否进行了ajax调用?Firebug或Chrome开发者工具在这里也会派上用场。查看网络选项卡和XHR选项。 好的。我们已经做到了这一点;从ajax处理程序回显帖子-您在那里传递了正确的参数吗? v取消链接返回什么?它返回true或false。如果为false,则可能存在路径或权限问题


基本上,在我看来,你的问题表明你缺乏关于如何调试的知识。

我认为不可能给出答案。问题可能在任何地方。我会考虑: 我页面上是否显示图像? 二,。在DeleteImage中放置一个调试点,并查看Parameteros实际上是什么。这也将检查它是否被调用。 iii.是否进行了ajax调用?Firebug或Chrome开发者工具在这里也会派上用场。查看网络选项卡和XHR选项。 好的。我们已经做到了这一点;从ajax处理程序回显帖子-您在那里传递了正确的参数吗? v取消链接返回什么?它返回true或false。如果为false,则可能存在路径或权限问题

在我看来,你的问题基本上是缺乏关于如何调试的知识

  • 如果使用铬。按F12。选择来源。单击左侧的小箭头。选择包含DeleteImage的JS文件,如果是内联Javascript,则选择页面。打开文件(在调试器中)。通过单击+号并键入parametros,使用右侧的“监视表达式”查看paramatros实际上是什么。然后单击X。调试器将启动并在放置断点的行处停止。(现在查看右侧的Watch表达式,并键入要监视的变量的名称,例如parametros)

  • “什么都没发生”:你确定吗?现在你打开了Chrome调试器,点击网络标签;然后单击XHR(这意味着您只能看到Ajax请求)。查看右侧面板中的标题和响应。现在您可以看到发生了什么:是否进行了ajax调用(我假设您在包含DeleteImage的文件之前加载了jQuery?)?它返回了什么

    • -
  • 现在您可以看到ajax调用的响应将删除文件修改为:$result=unlink($pathmages.$name_only.“$ext”);echo$result。是真是假?在删除文件中的$_POST上执行var_dump(),即var_dump($_POST),然后查看您在响应中得到了什么-您是否发布了您想要的内容

  • 当然,您可以尝试的另一件事是使用已知参数直接在浏览器地址栏中调用php delete脚本,以查看该部分是否正常工作

  • 如果使用铬。按F12。选择来源。单击左侧的小箭头。选择包含DeleteImage的JS文件,如果是内联Javascript,则选择页面。打开文件(在调试器中)。通过单击+号并键入parametros,使用右侧的“监视表达式”查看paramatros实际上是什么。然后单击X。调试器将启动并在放置断点的行处停止。(现在查看右侧的Watch表达式,并键入要监视的变量的名称,例如parametros)

  • “什么都没发生”:你确定吗?现在你打开了Chrome调试器,点击网络标签;然后单击XHR(这意味着您只能看到Ajax请求)。查看右侧面板中的标题和响应。现在您可以看到发生了什么:是否进行了ajax调用(我假设您在包含DeleteImage的文件之前加载了jQuery?)?它返回了什么

    • -
  • 现在您可以看到ajax调用的响应将删除文件修改为:$result=unlink($pathmages.$name_only.“$ext”);echo$result。是真是假?在删除文件中的$_POST上执行var_dump(),即var_dump($_POST),然后查看您在响应中得到了什么-您是否发布了您想要的内容


  • 当然,您可以尝试的另一件事是使用已知参数直接在浏览器地址栏中调用php delete脚本,以查看该部分是否正常工作。

    我认为问题在于您传递的数组

    试着用

    data:{name_only:name_only,ext:ext},
    

    传递参数或您可以考虑将它们传递为.< /P> < P>我认为问题是您正在通过的数组,

    试着用

    data:{name_only:name_only,ext:ext},
    

    传递参数,或者考虑将它们传递为./p>任何错误?正确的路径?文件夹权限?Hello@John Yes对不起,在chrome上的控制台中:未捕获引用错误:未定义png www.magzineapp.com/cloud/:1单击是否看到