我正在使用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>
答案 0 :(得分:1)
如果您使用apache服务器获取httpd.conf文件并搜索ErrorLog
日志位置并打开日志文件,您将收到正确的错误消息以调试该问题。
答案 1 :(得分:1)
您可以使用FirePHP库+ Firefox扩展程序在PHP中打印浏览器中显示的错误消息。
答案 2 :(得分:0)
上传过程实际上是由flash“uploadify / uploader.swf”完成的,一些flash uploader带有调试模式,所以你可以看到来自PHP的响应。
最糟糕的情况是,您可以告诉PHP使用put_file_contents
将一些调试行写入外部日志文件[编辑:]根据此页面http://www.uploadify.com/forums/discussion/2085/built-in-debug/p1 Uploadify没有调试模式。所以你最好用file_put_contents写一个日志文件 此Flash也像普通的HTML表单一样工作(除了flash可以检索上载的百分比),因此您可以创建一个简单的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>
答案 3 :(得分:0)
你可以这样做:
$("#fileUpload").fileUpload({
...
'onComplete': function(a, b, c, data, e){
alert(data);
}
});
希望这会有所帮助。干杯