Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.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重命名文件时出现Ajax错误,仍然会被重命名_Php_Jquery_Ajax_Rename - Fatal编程技术网

使用php重命名文件时出现Ajax错误,仍然会被重命名

使用php重命名文件时出现Ajax错误,仍然会被重命名,php,jquery,ajax,rename,Php,Jquery,Ajax,Rename,我试图通过我的Web服务器(RasPi)上的网站重命名文件。这一切都通过jqueryajax请求完成,并且可以正常工作。文件已成功重命名,但由于某些原因,我的浏览器控制台出现错误 当我尝试从pi上的webbrowser重命名文件时,它可以正常工作,不会出现任何错误 JS部分 $.ajax({ url: 'rsrc/php/filemanager.php', type: 'get', data: {'action': 'renameFile', 'path': $folderpath, 'oldf

我试图通过我的Web服务器(RasPi)上的网站重命名文件。这一切都通过jqueryajax请求完成,并且可以正常工作。文件已成功重命名,但由于某些原因,我的浏览器控制台出现错误

当我尝试从pi上的webbrowser重命名文件时,它可以正常工作,不会出现任何错误

JS部分

$.ajax({
url: 'rsrc/php/filemanager.php',
type: 'get',
data: {'action': 'renameFile', 'path': $folderpath, 'oldfilename': $oldfilename, 'newfilename': $newfilename},
success: function(answer) {
  console.log(answer);
  if(answer == "OK") {
    location.reload();
  }
},
error: function(xhr, desc, err) {
  console.log(xhr);
  console.log("Details: " + desc + "\nError: " + err);
}
});
PHP


很抱歉这里的格式不好。即使我只是打印出路径并手动使用mv,它也可以正常工作。当我使用exec时,仍然会出现相同的错误。你知道这是什么原因吗?到目前为止,我在Chrome和Firefox上试用过它

我可以在你的
xhr
对象上看到一个
readyState:0
。零代码表示请求未初始化。您可以看到更多:@matze无法获得更复杂的嗡嗡声?如果请求已发送,并且最终结果和http代码已发送,您是否可以查看开发人员工具上的“网络”选项卡?@MarcosPérezGude其状态标记为“已取消”,大小也为0。它没有得到任何回应。如果我尝试直接访问php文件
filemanager.php?action=renameFile&path=%2F&oldfilename=hello.jpg&newfilename=new.jpg
,它工作正常并返回ok,顺便说一句:我还获得了一个删除文件的函数,它可以正常工作。ajax请求基本上是相同的
    if ($_GET['action'] == 'renameFile') {
      $subfolderPath = $_GET['path'];

      $oldfilename = $_GET['oldfilename'];
      $newfilename = $_GET['newfilename'];

      $preview_oldfilename = substr($oldfilename, 0, strrpos($oldfilename, ".")) . ".jpg";
      $preview_newfilename = substr($newfilename, 0, strrpos($newfilename, ".")) . ".jpg";

      $renameOldPath = $uploadfolder . $subfolderPath . $oldfilename;
      $renameNewPath = $uploadfolder . $subfolderPath . $newfilename;
  $renamePreviewOldPath = $uploadpreviewfolder . $subfolderPath . $preview_oldfilename;
  $renamePreviewNewPath = $uploadpreviewfolder . $subfolderPath . $preview_newfilename;
  echo $renameOldPath;
  //To be revisited: Empty Error
  $firstRename = rename($renameOldPath, $renameNewPath);
  $secondRename = rename($renamePreviewOldPath, $renamePreviewNewPath);

  if($firstRename == true && $secondRename == true) {
    echo "OK";
  } else {
    echo "NO";
  }
}