JQuery AJAX-PHP mkdir () проблема - PullRequest
1 голос
/ 01 июня 2011

Я пытался заставить работать скрипт, который вызывает файл PHP в скрипт jQuery с использованием AJAX.

var dataString = 'Submit=Set';
$.ajax({
   type: "POST",
   url: "./inc/php/file.php",
   dataType: "json",
   data: dataString,
   success: function(data) {
    $('.error').html(data.errormsg+' OK.');
   },
   error: function(data) {
    $('.error').html(data.errormsg+' OH NO.');
    }
});

и он вызывает этот бит PHP

$blogstatus =array();
$blogstatus['errormsg'] = 'NOTHING';
if(isset($_POST['Submit'])){ 
$blogstatus['errormsg'] = 'FIRST';

if (file_exists('/files/subfolder/')){
    $blogstatus['errormsg'] = 'exists';
}else{
    $blogstatus['errormsg'] = 'YES';
    mkdir('./files/subfolder/',0777);
}
echo json_encode($blogstatus);  

Если я достану mkdir, все будет нормально, и я смогу вызвать errormsg. Я попытался запустить mkdir без вызова ajax в стандартном скрипте PHP, и это сработало. Каждый раз, когда я помещаю mkdir в скрипт, я получаю переменную errormsg как неопределенную, и скрипт завершается ошибкой.

Я довольно новичок в использовании jquery, так что, может быть, это что-то простое. ура для любой пятки

1 Ответ

2 голосов
/ 01 июня 2011

Пожалуйста, убедитесь, что выполнены следующие пункты:

Убедитесь, что у родительской папки есть разрешение для запуска Apache вашей команды?

Кроме того, удалите косую черту из вашей команды

mkdir('./files/subfolder/',0777);

to

mkdir('./files/subfolder',0777);
- it is good to supply the full path when it comes to linux commands. For ex:

mkdir('/var/www/html/someproject/somemodule/files/subfolder',0777);
...