【问题标题】:mkdir() permission denied - PHPmkdir() 权限被拒绝 - PHP
【发布时间】:2018-03-19 16:06:12
【问题描述】:

我正在尝试基于 HTML 表单输入制作 XML 文档。但是,一旦执行 php,我会得到一个页面,上面写着:

<?php
header('Content-type: text/xml');
$dom = new DOMDocument("1.0","UTF-8");
$customer = $dom->createElement("customer");
$dom->appendChild($customer);

$dir = 'XMLfiles';
if ( !file_exists($dir) ) {
 $oldmask = umask(0);  // helpful when used in linux server  
 mkdir ($dir, 0744);
 }

$fname = $_POST['fname'];
$lname = $_POST['lname'];
$email = $_POST['email'];
$contact = $_POST['contact'];
$password = $_POST['password'];
$cust = $dom->createElement("customer");
$customer->appendChild($cust);
$name = $dom->createElement("fname",$fname);
$cust->appendChild($name);
$emailxml = $dom->createElement("Email", $email);
$cust->appendChild($emailxml);
$contactxml = $dom->createElement("Contact", $contact);
$cust->appendChild($contactxml);
$passxml = $dom->createElement("Password", $password);
$cust->appendChild($passxml);
//$dom->saveXML();
$dom->save($dir."/customer.xml");

?>

指出正确的方向,我会学习的。

谢谢大家!

PS:我正在 Mac 上尝试这个(如果这对授予权限和东西有任何影响)。我是编程新手,所以请忽略任何不相关的内容或建议我。

【问题讨论】:

  • 你能从你的 PHP 脚本中删除最后的?&gt; 看看会发生什么吗?或者当您查看文档源时会是什么样子?
  • @Scuzzy:刚刚做了。仍然与第一张图片相同(空白 xml):(.
  • 你能用echo $dom-&gt;saveXML();代替$dom-&gt;save("customer.xml");吗,这会内联而不是写入磁盘。 $dom-&gt;saveXML(); 需要回显或进一步处理。
  • @Scuzzy,我认为 saveXML 用于内联处理,我需要将 XML 保存为文件,所以我使用了 save()。但是,是的,我按照建议做了,结果还是一样。什么都没有显示。
  • 我在使用echo $dom-&gt;saveXML();时做过检查PHP日志或打开详细错误报告可能

标签: php html xml macos macos-sierra


【解决方案1】:

刚刚看到一篇关于苹果支持的帖子,其中解释了添加权限。我只是这样做了:查看信息 -> 文件共享和权限 -> 将所有内容更改为读/写。

我现在就结束这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 2016-08-24
    • 2013-07-01
    • 2012-08-13
    • 1970-01-01
    相关资源
    最近更新 更多