gpt4 book ai didi

PHP 和文件写入权限

转载 作者:可可西里 更新时间:2023-10-31 22:14:29 28 4
gpt4 key购买 nike

我有一个文件夹,里面有 3 个不同的 php 脚本。 email.php txt.php android.php

我将电子邮件和/或 txts 通过管道传输到它们各自的脚本,并使用 http POST 将数据发送到 android 脚本。

本来我只有email和txt,用这个就ok了

$data = '//data fields condensed into a single string obtained from email or txt';
$filename= "output.php";
$newFile= fopen($filename, 'w+');
fwrite($newFile, $data);
fclose($newFile);`

没问题,脚本可以打开/写入文件,如果文件没有退出,他们会创建它。该文件夹不可写。

现在我有了 android.php 脚本,最初它无法打开/创建 output.php,直到我使整个文件夹可写。现在它可以根据需要创建 output.php。

现在的问题是,任一脚本都可以创建/写入 output.php 但是,一旦文件由其中一个脚本创建,其他脚本就无法写入即如果 android 脚本创建 output.php,则电子邮件和 txt 脚本返回错误如果电子邮件或 txt 脚本创建 output.php,则 android 脚本返回错误

错误是“无法流式传输 fopen”或类似的东西。

Lorenzo(SO 上的用户)开始提到一些关于用户的事情(即,通过管道传输的电子邮件将被视为与 http POST 命令不同的用户)。脚本创建 output.php 权限为 644(没有执行,只有所有者可以写),我无法手动将权限更改为 777 - 尽管我更愿意获得允许脚本创建它的方式 - 所以我可以清空出于备份原因定期创建文件夹,而不必记住将其放回等...

我想我可以将这 3 个脚本合并为一个(希望如此),但我不太愿意这样做。有没有人有任何其他想法?

谢谢

更新:由于我是新用户,无法“回答”我自己的问题 -

好的,所以在大家回复的帮助下,我制定了一个解决方案:电子邮件和 txt 脚本由用户“owner”运行,而 htmlPOST 由用户“?”运行

我必须为用户 '?' 创建文件夹 chmod 777上类

当每个脚本运行时,它会检查文件“output.php”。如果它不存在,那么在 fclose 之后我添加了一个 chmod 777 - 这样其他用户运行的脚本可以稍后打开/写入它。如果该文件已经存在,那么我没有添加 chmod,因为如果它是错误的用户,它会创建一个错误。一个简单的例子:

$data = '//data fields condensed into a single string obtained from email or txt';
$filename= "output.php";

if (file_exists($filename)){
$newFile= fopen($filename, 'w+');
fwrite($newFile, $data);
fclose($newFile);
} else {
$newFile= fopen($filename, 'w+');
fwrite($newFile, $data);
fclose($newFile);
chmod($file, 0777);
}

感谢您的帮助!

最佳答案

如果是权限问题而你是

unable to manually change the permissions to 777

也许你可以试试:

$filename= "output.php";

// programatically set permissions
if(!file_exists($filename)){
touch($filename);
chmod($filename, 0777);
}

$data = '//data fields condensed into a single string obtained from email or txt';
$newFile= fopen($filename, 'w+');
fwrite($newFile, $data);
fclose($newFile);

关于PHP 和文件写入权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9319619/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com