2012-07-19 3 views
2

Я хочу данные HTTP POST в файл PHP, который в свою очередь будет записывать данные в файл. Сценарий, который я использовал, следующий:Невозможно записать в файл с помощью PHP в sourceforge

<?php 
    #error_reporting(E_ERROR | E_PARSE); 
    $msglen=strlen($_POST["msgarea"]); 
    $msg=$_POST["msgarea"]; 
    $fp = fopen("dinesh.txt", 'w'); 
    fwrite($fp, $msg); 
    fclose($fp); 
    echo "Data Written -> $msg"; 
    ?> 

Я размещаю этот файл сценария в sourceforge.

Я уже создал пустой файл dinesh.txt и поместил файл в тот же каталог, что и файл сценария. Но, к сожалению, он не написан в файле.

В чем причина? Заранее спасибо

+0

Проверить доступ к файлам и путь к файлу – swapnesh

ответ

1

Убедитесь, что $_POST["msgarea"] не пуста и файл записываемый для пользователя, который пытается писать. И проверьте журналы на наличие ошибок, конечно.

<?php 
error_reporting(E_ALL); 
var_dump($_POST["msgarea"]); 

$msglen=strlen($_POST["msgarea"]); 
$msg=$_POST["msgarea"]; 
$fp = fopen("dinesh.txt", 'w'); 
$result = fwrite($fp, $msg); 
fclose($fp); 
if ($result) { 
    echo "Data Written -> $result"; 
} else { 
    echo "Error"; 
} 
0

вы можете, проверьте, что разрешение папки, у них есть 777 разрешения

$myFile = "testFile.txt"; 
$fh = fopen($myFile, 'w') or die("can't open file"); 
$stringData = "Bobby Bopper\n"; 
fwrite($fh, $stringData); 
fclose($fh); 
1

Я думаю, что вы пишете только для чтения вебпространства, проверьте права доступа к файлам и путь

1

От: http://sourceforge.net/apps/trac/sourceforge/ticket/2772

В вообще не разрешено писать к папкам и файлам, которые находятся в веб-пространстве проекта. Если вам нужно записать в файловую систему, вы должны использовать папку с именем persistent, которая находится на том же уровне, что и htdocs.

я использую на моем компьютере:

$ mkdir persistent 
$ chmod 0777 persistent 
$ scp -r persistent [email protected]:/home/project-web/my_project/ 

и установить в PHP:

$fp = fopen("../persistent/dinesh.txt", 'w'); 

И это работает!

Edit: Вы можете получить доступ к SSH консоли в течение 4 часов (https://sourceforge.net/apps/trac/sourceforge/wiki/Shell%20service). И вы можете перейти в веб-каталог своего проекта, сделать dirs, установить привилегии, удалить файлы и т. Д. Доступен Midnight Commander.

Смежные вопросы