PHP将文件设置为只读/下载

PHP将文件设置为只读/下载,php,post,permissions,chmod,Php,Post,Permissions,Chmod,简而言之,我正在制作一个非常简单的文件上传脚本。我需要做的是,获取刚刚上传的文件,将其保存到指定的目录,并使该文件为只读/不可执行文件。为什么?好吧,如果有人上传一个PHP脚本给别人看,脚本将不被允许运行,相反,它将只显示文件的实际文本 我一直在尝试使用chmod()执行此操作,但没有任何效果 $target_directory = "./" . $_POST["directory"] . "/"; // The target directory to put the file. $file_

简而言之,我正在制作一个非常简单的文件上传脚本。我需要做的是,获取刚刚上传的文件,将其保存到指定的目录,并使该文件为只读/不可执行文件。为什么?好吧,如果有人上传一个PHP脚本给别人看,脚本将不被允许运行,相反,它将只显示文件的实际文本

我一直在尝试使用chmod()执行此操作,但没有任何效果

$target_directory = "./" . $_POST["directory"] . "/"; // The target directory to put the file.

$file_name = $_FILES["file"]["name"]; // The name of the file being uploaded (Example: file.ext)

$target_file = $target_directory . $file_name; // The more compiled target file/location. (Example: /folder/file.ext)

if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
    echo "The file was uploaded. at <a href='" .$target_file ."'>".$target_file ."</a>";
    chmod($target_file, 0644);
$target_directory=“./”$_POST[“目录”]。"/"; // 要放置文件的目标目录。
$file\u name=$\u FILES[“file”][“name”];//正在上载的文件的名称(例如:file.ext)
$target\u file=$target\u目录$文件名;//更编译的目标文件/位置。(示例:/folder/file.ext)
如果(移动上传的文件($文件[“文件”][“tmp文件名”],$目标文件)){
echo“文件已上载。在”;
chmod($target_文件,0644);

我需要编写什么样的代码才能使
chmod()
正常工作,或者将目录/文件设置为不执行?

您可以在.htaccess中创建重定向,并使用
echo file\u get\u contents()

处理输出。我自己用
.htaccess
修复了它


通过使用
php\u flag engine off
关闭php处理,并使用
ForceType text/plain
强制服务器将.php文件作为文本文档提供。

需要查看完整的上载代码以及上载文件的存储位置。否则,请在文件顶部添加错误报告在打开PHP标记后,例如
PHP或服务器用户(PHP运行的地方,而不是管理员登录用户)是否有权限编辑该目录?即使PHP文件是只读的,不可执行,它仍将作为PHP代码处理。您需要将“PHP”扩展名更改为“phps”保存文件时。@Fred ii-没有错误,如果我上传一个php脚本,它仍然允许我执行该脚本,而不是将其设置为只读。@RobertDundon它拥有完全权限。..t类似的操作:
RewriteEngine On RewriteCond“%{script\u FILENAME}”(.*)\/my\u special\u folder\/(.*)\.php“RewriteRule”^(.*)/(.*).php$”my_php_file_viewer.php?my_file=$2
和my_php_file_viewer.php类似:
echo file_get_contents($_get['my_file']..php');
`