注销时重命名文件

     2023-03-07     277

关键词:

【中文标题】注销时重命名文件【英文标题】:Renaming a file on log out 【发布时间】:2014-04-12 01:41:08 【问题描述】:

我正在尝试用 PHP 重命名一个文件,但由于某种原因它不起作用,我是否必须在 PHP 下激活一些特殊权限?

这是我的 php 文件代码

<?php
  if(!rename('file.php','filer.php'))
  
    echo "Couldn't rename file!";
  
  else 
  
    echo "file renamed succesfully!";
  
?>

当他们退出登录区域时,我正在尝试重命名我的/var/www 目录中的文件,这样他们就无法访问回击按钮。我的代码有错误吗?还是有其他方法可以防止这种情况发生?

【问题讨论】:

错误报告是否设置为 E_ALL? 这听起来是个糟糕的主意...文件怎么会被改回来?其他访问者将如何访问该文件?为什么不在会话中存储一个布尔值$loggedIn 并在他们注销时销毁会话。检查每个页面以确保他们已登录,否则重定向到登录页面。 哦,天哪,是的,当我完全诚实地回答时,我没有阅读底部。这确实是一个糟糕的想法,原因有很多,你应该按照 Travesty 的建议去做。 @travesty 谢谢你的想法,我们要清楚,你的意思是当我验证用户和密码时,创建一个变量 $loggedin 并将它作为 $_POST 传递给其他页面? 不,不是 $_POST。阅读如何使用PHP sessions。 【参考方案1】:

此文件夹/var/www/ 的默认权限为:chmod 755 /var/www/

“所有者读取、写入和执行”和“组和其他所有人读取和执行” (-rwxr-xr-x)

文件夹/var/www/file内的文件为:chmod 644 /var/www/file

我不知道您是否更改了权限或只是执行此命令,我们会工作。

chmod 777 /var/www/file.php

“所有者、组和其他所有人读取、写入和执行”

【讨论】:

让每个人都拥有文件的写权限是不是有点不安全? 是的,但他必须寻找正确的权限。【参考方案2】:

试试这个,然后......它会以新名称复制文件,然后他们会删除原始文件:

copy('file.php','filer.php');
unlink('file.php');

您不会尝试移动调用代码的文件,是吗?

【讨论】:

为什么这比rename()更可取? 不是,我只是给了 OP 不同的代码来做同样的事情,以防万一它起作用。我没有时间处理配置文件之类的,我只是突然在网站上阅读一些内容,甚至没有打算回答任何内容。 如果是这种情况,我深表歉意,因为没有任何答案,我只是在途中提供了一个短暂的想法。好吧,至少人们现在可以阅读这些 cmets。【参考方案3】:

PHP 必须具有对该文件的写入权限。 (我假设你有一个 UNIX 系统)。首先通过运行以下命令找出 PHP 运行的用户身份:

echo `whoami`;

在 PHP 解释器中。 (在我的系统上是www-data)。然后运行:

sudo chown www-data file.php

在 shell 中,与您想要的文件在同一目录中。当然,将www-data 更改为您系统上的PHP 用户。确保所有者具有写入权限。然后你就完成了; PHP 可以重命名这个文件。

【讨论】:

只是为了确保清楚,这些是围绕 whoami 的反引号,而不是引号。

使用 DD 名称时重命名文件

】使用DD名称时重命名文件【英文标题】:renamefilewhenusingDDname【发布时间】:2020-07-0406:38:39【问题描述】:使用“C”语言LP64编译的程序,当使用以下符号打开PDS(E)成员时,该程序将在Batch、TSO和z/OSUNIX中运行(推荐以允许文件处... 查看详情

在php中上传时重命名文件

】在php中上传时重命名文件【英文标题】:Renamefilewhenuploadinphp【发布时间】:2013-09-2102:32:01【问题描述】:我现在正在制作简单的文件上传脚本。一切正常,但是当我上传另一个相同的文件时-脚本只会覆盖它。所以,我想要的... 查看详情

在 Oozie 或 pig 运行时重命名文件夹

】在Oozie或pig运行时重命名文件夹【英文标题】:RenamingfolderatruntimeinOozieorpig【发布时间】:2014-04-2410:20:43【问题描述】:我对Oozie和Pig还是陌生的。谁能告诉我如何在运行时使用Oozie或Pig重命名文件夹。我有一个猪脚本,它从输... 查看详情

防止用户在从远程 ftp 服务器 cocoa 流式传输文件时重命名文件

】防止用户在从远程ftp服务器cocoa流式传输文件时重命名文件【英文标题】:Preventauserfromrenamingafilewhileitsbeingstreamedfromaremoteftpservercocoa【发布时间】:2015-08-1712:53:26【问题描述】:如何避免用户在使用cocoa以编程方式在mac上下载/... 查看详情

如果已经存在该文件,则 Python 程序在覆盖时重命名文件名

】如果已经存在该文件,则Python程序在覆盖时重命名文件名【英文标题】:Pythonprogramtorenamefilenameswhileoverwritingiftherealreadyisthatfile【发布时间】:2015-07-2209:53:10【问题描述】:正如标题所说,我想要一个更改文件名的python程序,... 查看详情

在用户下载文件时重命名另一台服务器上的文件

】在用户下载文件时重命名另一台服务器上的文件【英文标题】:RenamingFileonanotherserverasuserdownloadsit【发布时间】:2009-02-1212:04:23【问题描述】:我允许用户通过提供链接从另一台服务器下载文件。但是,当用户尝试下载文件时... 查看详情

Python 将文件复制到新目录并在文件名已存在时重命名

】Python将文件复制到新目录并在文件名已存在时重命名【英文标题】:Pythoncopyfilestoanewdirectoryandrenameiffilenamealreadyexists【发布时间】:2013-08-2508:34:26【问题描述】:我已经阅读了thisthread,但是当我将它实现到我的代码中时,它只... 查看详情

当用户在 JSF 中注销后单击后退按钮时重定向到登录页面 [重复]

】当用户在JSF中注销后单击后退按钮时重定向到登录页面[重复]【英文标题】:RedirecttologinpagewhenuserclicksonbackbuttonafterlogoutinJSF[duplicate]【发布时间】:2013-10-0119:47:51【问题描述】:当用户点击注销页面时,它会将他带到login.xhtml... 查看详情

如何在将通用工件上传到jenkins管道中的jfrogartifactory时重命名现有文件夹(代码片段)

我正在使用jenkins管道。需要上传到Artifactory的文件夹以*.tar.gz格式生成。每次在Jenkins构建之后,文件夹名称保持不变,文件夹名称没有变化。对于通用Artifactory集成,我不想覆盖以前上传的*tar.gz。想知道tar.gz是否可以基于递增顺... 查看详情

核心数据:在获取时重命名属性

】核心数据:在获取时重命名属性【英文标题】:Coredata:renamingapropertywhilefetching【发布时间】:2013-02-1814:06:16【问题描述】:我有两个具有以下关系的实体:Contact<-->ContactMeta这里,Contact的关系之一是“contactMeta”,而ContactM... 查看详情

在运行时重命名选项卡

】在运行时重命名选项卡【英文标题】:Renametabsatrun-time【发布时间】:2010-06-2207:28:15【问题描述】:我有一个标签栏应用程序,它必须根据用户的偏好以不同的语言显示,但我找不到太多关于如何在运行时更改标签名称的信息... 查看详情

如何在选择时重命名表中的单个列?

】如何在选择时重命名表中的单个列?【英文标题】:HowcanIrenameasinglecolumninatableatselect?【发布时间】:2009-03-0510:24:42【问题描述】:我有两张表,列名相同,但数据不同。我想加入表格,但访问两列(row["price"],row["other_price"])... 查看详情

在拉取请求时重命名分支

】在拉取请求时重命名分支【英文标题】:Renamingabranchwhileonpullrequest【发布时间】:2013-11-2905:30:56【问题描述】:在Github上,您可以提出拉取请求以向项目添加功能。一个人的贡献必须在一个分支上,如果请求被接受,它将被合... 查看详情

将索引名称导出为 ddl 时重命名它们

】将索引名称导出为ddl时重命名它们【英文标题】:renamingindexnameswhileexportingthemasddl【发布时间】:2014-03-2419:00:07【问题描述】:在当前现有模式中,大多数索引/约束名称是由oracle生成的,例如SYS_CXXXXX,我正在尝试将它们导出... 查看详情

Pandas df.itertuples 在打印时重命名数据框列

】Pandasdf.itertuples在打印时重命名数据框列【英文标题】:Pandasdf.itertuplesrenamingdataframecolumnswhenprinting【发布时间】:2017-12-3114:53:45【问题描述】:我知道通常pandas的itertuples()会返回每个值,包括列名,如下所示:ab=pd.DataFrame(np.ran... 查看详情

Spring Security:成功注销时重定向到 invalid-session-url 而不是 logout-success-url

】SpringSecurity:成功注销时重定向到invalid-session-url而不是logout-success-url【英文标题】:SpringSecurity:Redirecttoinvalid-session-urlinsteadoflogout-success-urlonsuccessfullogout【发布时间】:2011-02-0518:12:54【问题描述】:我已经用SpringSecurity3.0.2实现... 查看详情

wordpress上传图片时重命名--修改插件时遇到的一些问题

wordpress是用php语言开发的博客平台,它扩展性强,容易扩展,很适合拿来做二次开发。1,问题由来本周五,我在浏览公司的网站(基于wordpress开发)时发现,网站首页上有两篇文章的缩略图重复了,于是我进入网站后台检查,... 查看详情

在编译时重命名符号而不以跨平台方式更改代码

】在编译时重命名符号而不以跨平台方式更改代码【英文标题】:Renamingsymbolsatcompiletimewithoutchangingthecodeinacrossplatformway【发布时间】:2011-11-0412:17:51【问题描述】:在创建静态对象时,是否可以在编译时以跨平台方式重命名符号... 查看详情