} function processUpload($file) { if (!is_dir($this->UploadPath)) mkdir($this->UploadPath, 0755); if (!@move_uploaded_file($file['tmp_name'], $this->UploadPath.'/'.$filename)) { echo $this->tr('Failed to move the file.')."<br />\n"; @unlink($file['tmp_name']); return false; }
require_once ('_inc.php'); $sql = "INSERT INTO " . $gDb['prefix'] . "upload SET userSerial='".$this->userSerial."', imgUrl='".$this->UploadPath."/".$filename."'"; $db->query($sql); echo $this->tr('Okay.')."<br />\n"; return $filename; } } $JSMultiUpload = new JSMultiUpload($vipId); if ($processUploads) { foreach ($_FILES as $file) { $filename = $JSMultiUpload->processUpload($file); } } 我是这样调用的
$this->UploadPath如果红字部分输出正确.可能在类调用其它函数的过程中又再重新传给新值或者置空了.请查看代码.
$this->UploadPath如果红字部分输出正确.可能在类调用其它函数的过程中又再重新传给新值或者置空了.请查看代码.
在sql之前再输出一次 $this->UploadPath 看看
var $UploadPath = './uploads';
var $userSerial;
function JSMultiUpload($uSerial) {
$this->userSerial = $uSerial;
$this->UploadPath = 'userimg/'.$this->userSerial;
echo '<br>userSerial:'.$this->userSerial;
echo '<br>UploadPath:'.$this->UploadPath;
}
function processUpload($file) {
if (!is_dir($this->UploadPath))
mkdir($this->UploadPath, 0755); if (!@move_uploaded_file($file['tmp_name'], $this->UploadPath.'/'.$filename)) {
echo $this->tr('Failed to move the file.')."<br />\n";
@unlink($file['tmp_name']);
return false;
}
require_once ('_inc.php');
$sql = "INSERT INTO " . $gDb['prefix'] . "upload SET userSerial='".$this->userSerial."', imgUrl='".$this->UploadPath."/".$filename."'";
$db->query($sql);
echo $this->tr('Okay.')."<br />\n";
return $filename;
}
}
$JSMultiUpload = new JSMultiUpload($vipId);
if ($processUploads) {
foreach ($_FILES as $file) {
$filename = $JSMultiUpload->processUpload($file);
}
}
我是这样调用的
有几点必须确定,你自己调试看看:
1 文件有没有正确上传.如果没有,则在move_uploaded_file函数前设置断点,查看路径是否构造成功.
2 如果文件上传成功, 数据库内容有问题.则输出 $sql, 并且query之前设置断点.
谢谢大家,马上结账!