0
我有一個簡單的PHP文件爲DIR:PHP不寫一個文件+ RW權限
<?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試試這個,但它不起作用。我知道這一定很愚蠢,但我無法弄清楚問題所在。
EDIT
我修改腳本,加入system("mv ...")
和初始化的值。 如果我在控制檯運行這個它工作正常,沒有錯誤,只是:
PHP公告:未定義指數:名稱/var/www/SChip/create-matrix.php第2行
PHP的通知:未定義指數:alineamiento在/var/www/SChip/create-matrix.php上線3
但是這是顯而易見的。但是,當我在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");
?>
如果您需要幫助,您需要爲人們提供錯誤。 – thatidiotguy
fyi:不允許php寫入用戶提供的文件名。你可以用一個shell腳本替換你的索引文件 –
如果沒有得到一個錯誤(應該通過警告級別),確保* filename *不是一個目錄。請參閱[fopen](http://php.net/manual/en/function.fopen.php)頁面和'is_dir()'的註釋。 – ficuscr