我无法将 PHP 中的文件复制到我的 apache2 网络服务器中 /var/www 之外的另一个目录
I can not copy a file in PHP to another directory out of /var/www in my apache2 web server
我想在 php 中复制一个文件。但是,我遇到的问题不是语法问题。知道我已经为文件执行了 chmod 命令,以便能够复制和更改!!
这是我的代码:
此代码无效!
<?php
$file = 'example.txt';
$newdir = '/home/Dell/Desktop';
$newfile = 'example.txt.bak';
echo "Trying to copy $file...<br><br> ";
echo' loading .... <br>';
echo' loading .... <br>';
if (!copy($file, $newdir.'example.txt.bak')) {
echo "failed to copy $file...\n";
}
else {
echo' the file should be in'. $newdir;
}
//this code is working cause I have changed the location to /var/www/ directory!!!
$file = 'example.txt';
$newdir = '/var/www/';
$newfile = 'example.txt.bak';
echo "Trying to copy $file...<br><br> ";
echo' loading .... <br>';
echo' loading .... <br>';
if (!copy($file, $newdir.'example.txt.bak')) {
echo "failed to copy $file...\n";
}
else {
echo' the file should be in'. $newdir;
}
?>
我试过:
move_uploaded_file()
copy()
rename()
什么都没用!!请在这里帮忙。
不是PHP,是Apache。您的 Apache 用户无权(或简单地说,不允许)写入给定的目录。
解决方法如下:
- 通过执行
awk -F= ' == "export APACHE_RUN_GROUP" {print }' /etc/apache2/envvars
找到您的 Apache 组。如果您在 ubuntu 中并使用 Apache2,则默认用户和组将为 www-data
.
- 通过执行
sudo chown :www-data /home/Dell/Desktop -R
递归地更改目标目录(在您的情况下,它将是 /home/Dell/Desktop
)
- 通过执行
sudo chown :www-data /home/Dell/Desktop && sudo chmod 775 /home/Dell/Desktop && sudo find /home/Dell/Desktop -type d -exec chmod 775 {} \; && sudo find /home/Dell/Desktop -type f -exec chmod 664 {} \;
递归地修改目标目录(同样,在您的情况下,它将是 /home/Dell/Desktop
)
我想在 php 中复制一个文件。但是,我遇到的问题不是语法问题。知道我已经为文件执行了 chmod 命令,以便能够复制和更改!! 这是我的代码:
此代码无效!
<?php
$file = 'example.txt';
$newdir = '/home/Dell/Desktop';
$newfile = 'example.txt.bak';
echo "Trying to copy $file...<br><br> ";
echo' loading .... <br>';
echo' loading .... <br>';
if (!copy($file, $newdir.'example.txt.bak')) {
echo "failed to copy $file...\n";
}
else {
echo' the file should be in'. $newdir;
}
//this code is working cause I have changed the location to /var/www/ directory!!!
$file = 'example.txt';
$newdir = '/var/www/';
$newfile = 'example.txt.bak';
echo "Trying to copy $file...<br><br> ";
echo' loading .... <br>';
echo' loading .... <br>';
if (!copy($file, $newdir.'example.txt.bak')) {
echo "failed to copy $file...\n";
}
else {
echo' the file should be in'. $newdir;
}
?>
我试过:
move_uploaded_file()
copy()
rename()
什么都没用!!请在这里帮忙。
不是PHP,是Apache。您的 Apache 用户无权(或简单地说,不允许)写入给定的目录。
解决方法如下:
- 通过执行
awk -F= ' == "export APACHE_RUN_GROUP" {print }' /etc/apache2/envvars
找到您的 Apache 组。如果您在 ubuntu 中并使用 Apache2,则默认用户和组将为www-data
. - 通过执行
sudo chown :www-data /home/Dell/Desktop -R
递归地更改目标目录(在您的情况下,它将是 - 通过执行
sudo chown :www-data /home/Dell/Desktop && sudo chmod 775 /home/Dell/Desktop && sudo find /home/Dell/Desktop -type d -exec chmod 775 {} \; && sudo find /home/Dell/Desktop -type f -exec chmod 664 {} \;
递归地修改目标目录(同样,在您的情况下,它将是
/home/Dell/Desktop
)
/home/Dell/Desktop
)