0

它没有显示错误,并且看起来像在工作。但它不会将图像上传到服务器。

在本地主机上工作的相同代码。

阅读有关此问题的内容,但仍然没有解决方案:

同样的问题:

http://www.uploadify.com/forums/discussion/6974/upload-ok-but-file-not-in-target-folder/p1

http://www.uploadify.com/forum/#/discussion/5527/upload-does-not-work-no-errors/p1

查询:

$("#fileUpload2").fileUpload({
    'uploader': 'uploadify/uploader.swf',
    'cancelImg': 'uploadify/cancel.png',
    'script': 'uploadify/upload.php',
    'folder': '/files',
    'multi': true,
    'buttonText': 'start upl',
    'checkScript': 'uploadify/check.php',
    'displayData': 'speed',
    'simUploadLimit': 2,
    'onComplete':function(event, ID, fileObj, response, data){
        foto=foto+fileObj.name;

        }
});

上传.php

<?php
if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_GET['folder'] . '/';
    $targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
    $ff= $_FILES['Filedata']['name'];
    echo $ff;
    // Uncomment the following line if you want to make the directory if it doesn't exist
    // mkdir(str_replace('//','/',$targetPath), 0755, true);

    move_uploaded_file($tempFile,$targetFile);
}

echo '1';

?>
4

1 回答 1

0

你在那里有无效的错误处理。检查非空 $_FILES不是检查成功上传的正确方法。失败的上传仍会将数据填充到 $_FILES 中。至少,你应该有

if ($_FILES['Filedata']['error'] !== UPLOAD_ERR_OK) {
   die("Upload failed with error code " . $_FILES['Filedata']['error'];
}

然后看看你得到什么错误代码:http: //php.net/manual/en/features.file-upload.errors.php

您还在 move() 调用中直接使用用户提供的文件名,从而允许恶意用户在您的服务器上的任何地方乱写他们上传的文件从而让您敞开心扉接受完整的系统接管。在您花时间学习基本的 PHP(和 Web)安全性之前,不要将此代码放到实时网站上。

于 2013-01-25T15:51:16.333 回答