我有一个简单的.php文件:
<?php
$archivo = $_POST["name"];
$alineamiento = $_POST["alineamiento"];
$fp=fopen("$archivo","w");
fwrite($fp,$alineamiento);
fclose($fp);
?>
这很好用,但是当我需要在子文件夹(sub_mat)中写入文件时:
<?php
$archivo = $_POST["name"];
$alineamiento = $_POST["alineamiento"];
$fp=fopen("/var/www/SChip/sub_mat/$archivo","w");
fwrite($fp,$alineamiento);
fclose($fp);
?>
这不起作用。我也尝试没有绝对路径目录,如:
<?php
$archivo = $_POST["name"];
$alineamiento = $_POST["alineamiento"];
$fp=fopen("sub_mat/$archivo","w");
fwrite($fp,$alineamiento);
fclose($fp);
?>
我在sub_mat文件夹中拥有rw
权限。我尝试使用Chrome,FF和Opera,它不起作用。我知道这一定是愚蠢的,但我无法弄清楚问题。
修改
我修改了脚本,添加了system("mv ...")
并初始化了值。
如果我在控制台中运行它,它可以正常工作,没有错误,只有:
PHP注意:未定义的索引:第2行的/var/www/SChip/create-matrix.php中的名称
PHP注意:未定义的索引:第3行的/var/www/SChip/create-matrix.php中的alineamiento
但这很明显......但是当我在Chrome或FF中运行时,它不起作用,没有错误或警告。它只是将文件保留在当前文件夹中,并且不执行mv
。
<?php
$archivo = $_POST["name"];
$alineamiento = $_POST["alineamiento"];
$archivo = "testing";
$alineamiento = "test2";
$fp=fopen("$archivo","w");
fwrite($fp,$alineamiento);
fclose($fp);
system("mv $archivo custom_matrices_temporal/$archivo");
?>
答案 0 :(得分:3)
该目录还需要执行(x
)权限,以允许创建新文件。