Отладка PHP-файла, вызываемого jQuery - PullRequest
3 голосов
/ 05 июля 2011

Я использую скрипт uploadify (загрузка jQuery), в основе которого лежит PHP-файл. Я хочу сделать некоторую отладку PHP-кода (например, посмотреть, какие ошибки я получаю в PHP-файле (когда он вызывается jQuery), но я не знаю, как я могу распечатать ошибки. Например, Исходный файл PHP:

<?php
if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_GET['folder'] . '/';
    $targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
    move_uploaded_file($tempFile,$targetFile);
}   
?>

Теперь, например, я добавляю строку перед move_uploaded_file () в приведенном выше коде.

die("die befor moving file");

Когда этот PHP-файл вызывается сценарием, он не переходит на следующую строку, но также не печатает сообщение. Как я могу напечатать сообщение об ошибке? Если это не может быть сделано таким образом, могу ли я отобразить некоторые предупреждения JavaScript. Идея состоит в том, чтобы узнать, где находится ошибка в файле PHP. Спасибо.

Вот код страницы загрузки внешнего интерфейса:

<script type="text/javascript">

$(document).ready(function() {
    $("#fileUpload").fileUpload({
        'uploader': 'uploadify/uploader.swf',
        'cancelImg': 'uploadify/cancel.png',
        'script': 'uploadify/upload.php',
        'folder': 'files',
        'multi': false,
        'displayData': 'speed'
    });

});

</script>
</head>

<body>
    <fieldset style="border: 1px solid #CDCDCD; padding: 8px; ">
        <legend><strong>Uploadify Sample</strong></legend>
        <h2>Single File Upload</h2>
        <p>Display speed</p>
        <div id="fileUpload">You have a problem with your javascript</div>
    </fieldset>
</body>
</html>

Ответы [ 4 ]

1 голос
/ 05 июля 2011

Вы можете использовать библиотеку FirePHP + расширение Firefox для печати сообщений об ошибках на PHP, которые видны в вашем браузере.

1 голос
/ 05 июля 2011

если вы используете сервер apache, получите файл httpd.conf и найдите ErrorLog местоположение журнала и откройте файл журнала, у вас будет соответствующее сообщение об ошибке для устранения проблемы.

0 голосов
/ 05 июля 2011

Вы можете сделать это так:

$("#fileUpload").fileUpload({
   ...
   'onComplete': function(a, b, c, data, e){
       alert(data);
    }
});

Надеюсь, это поможет. Приветствия

0 голосов
/ 05 июля 2011

Процесс загрузки на самом деле выполняется с помощью флеш-файла «uploadify / uploader.swf». Некоторые флеш-загрузчики имеют режим отладки, поэтому вы можете увидеть ответ от PHP.

В худшем случае вы можете сказать PHP написатьнекоторая строка отладки во внешний файл журнала с put_file_contents

[РЕДАКТИРОВАТЬ:] Согласно этой странице http://www.uploadify.com/forums/discussion/2085/built-in-debug/p1 Uploadify не поставляется в режиме отладки.Так что вам лучше писать в файле журнала с file_put_contents. Также эта флэш-память работает как обычная HTML-форма (за исключением того, что флэш-память может получать процент загрузки), поэтому вы можете создать простую HTML-форму для отправки файла через ваш PHP, например:

<html>
<head>
   <title>Upload file</title>
</head>
<body>
   <form id="form" method="post" enctype="multipart/form-data" action="yourFile.php">
       <input type="file" name="Filedata" />
       <input type="submit" value="Upload" />
   </form>
</body>
</html>
...