0

問題を解決するために多くの投稿を検索し、多くのことを試しましたが、うまくいきませんでした。問題は、Uploadify プラグイン (v3.2.1) によって提供されるデモ ページでファイルをアップロードしようとすると、ダウンロードが完了したと表示されますが、サーバー上にファイルが表示されないことです。

まず、public_html フォルダーの php.ini を変更して、upload_tmp_dir と session.savepath へのパスを設定します。私はこれに両方を設定しました: /home/ensembl/public_html/accp/uploadTemp

次に、もう一度 public_html フォルダーに.htaccessファイルを作成し、次の行を書き込みました: suPHP_ConfigPath /home/ensembl/public_html/変更をすべてのファイルとサブフォルダーに適用します。

すべてのフォルダーには 0755 のアクセス許可があり、すべてのファイルには 0644 のアクセス許可があります。

誰かが何が悪いのかを見ていますか?

そこに私が今持っているコードがあります:

index.php

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>UploadiFive Test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="jquery.uploadify.min.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="uploadify.css">
<style type="text/css">
body {
    font: 13px Arial, Helvetica, Sans-serif;
}
</style>
</head>

<body>
    <h1>Uploadify Demo <?php
    //The following line is just to show the paths
    echo $_SERVER['DOCUMENT_ROOT'].'/downloadsUploadify/'.'<br/>'.sys_get_temp_dir().' | '.ini_get('upload_tmp_dir');?></h1>
    <form>
        <div id="queue"></div>
        <input id="file_upload" name="file_upload" type="file" multiple="true">
    </form>

    <script type="text/javascript">
    $(function() {
        $('#file_upload').uploadify({
            'swf'           : 'uploadify.swf',
            'uploader'      : 'uploadify.php',
            'fileSizeLimit' : '20MB',
            'fileTypeExts' : '*.jpg; *.jpeg; *.gif; *.png; *.mp3; *.pdf; *.txt',
            'removeTimeout' : 60,
            'removeCompleted' : false,
            'requeueErrors' : true,
            'onUploadComplete' : function(file) { alert('The file ' + file.name + ' finished processing.'); },
            'onUploadError' : function(file, errorCode, errorMsg, errorString) { alert('The file ' + file.name + ' could not be uploaded: ' + errorString); },
            'onUploadSuccess' : function(file, data, response) { alert('The file ' + file.name + ' was successfully uploaded with a response of ' + response + ':' + data); }
        });
    });
    </script>
</body>
</html>

sys_get_temp_dir()の結果=> /tmp

ini_get('upload_tmp_dir') の結果=> /home/ensembl/public_html/accp/uploadTemp

uploadify.php

<?php
/*
Uploadify
Copyright (c) 2012 Reactive Apps, Ronnie Garcia
Released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/

// Define a destination
$targetFolder = '/downloadsUploadify/'; // Relative to the root

$verifyToken = md5('unique_salt' . $_POST['timestamp']);

if (!empty($_FILES) && $_POST['token'] == $verifyToken) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
    $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];

    // Validate the file type
    $fileTypes = array('jpg','jpeg','gif','png','mp3', 'pdf', 'txt'); // File extensions
    $fileParts = pathinfo($_FILES['Filedata']['name']);

    if (in_array($fileParts['extension'],$fileTypes)) {
        move_uploaded_file($tempFile,$targetFile);
        echo '1';
    } else {
        echo 'Invalid file type.';
    }
}
?>

check-exists.php

<?php
/*
Uploadify
Copyright (c) 2012 Reactive Apps, Ronnie Garcia
Released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/

// Define a destination
$targetFolder = '/downloadsUploadify/'; // Relative to the root and should match the upload folder in the uploader script

if (file_exists($_SERVER['DOCUMENT_ROOT'] . $targetFolder . '/' . $_POST['filename'])) {
    echo 1;
} else {
    echo 0;
}
?>
4

1 に答える 1

0

inおよび関数 uploadify 内index.php<script> <?php $timestamp = time();?>、次を追加する必要があります。

'FormData' : {
    'timestamp': '<? php echo $ timestamp;>',
    'token': '<? php echo md5 (' unique_salt '$ timestamp.)>'
},

ドキュメンテーション

TargetFolder は、画像の例を保存するフォルダーへの直接アドレスを使用する必要があります。

/5/uploadify/archivos /

于 2013-12-18T15:54:36.563 に答える