2012-07-27 98 views
0

我正在使用uploadify,雖然它的工作原理它並沒有上傳到文件夾中。我怎樣才能讓它複製?該文件夾是777uploadify工作但沒有上傳到文件夾

這裏是如果需要的頁面:

http://www.dilyurdu.com/uploadify/

//腳本

$(function() { 

$("#file_upload_1").uploadify({ 
    height  : 30, 
    swf   : 'uploadify.swf', 
    uploader  : 'uploadify.php', 
    width   : 120 
}); 
}); 

// PHP

$targetFolder = '/uploads'; // Relative to the root 

if (!empty($_FILES)) { 
$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'); // 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.'; 
} 
} 

回答

2

試試這個

<script type="text/javascript"> 
$(document).ready(function() { 
$(function() { 
    $("#file_upload").uploadify({ 
      'uploader'  : '<?php echo base_url();?>flash/uploadify.swf', 
      'script'   : '<?php echo base_url();?>scripts/uploadify.php', 
      'folder'   : '/folder_name_where_you_want_to_upload/', 
      'height'   : 30, 
      'onError'  : function(event,queueID,fileObj,errorObj){ 
        // alert(errorObj["type"]+" - "+errorObj["status"]+" - "+errorObj["text"]); 
      }, 
      }); 
    }); 
}); 
</script> 

還在uploadify.php中回顯$ targetPath,以便您可以跟蹤它上傳的路徑。

+0

它說調用未定義的函數base_url() – user1425871 2012-07-27 11:32:39

+0

@ user1425871:base_url是我定義的函數給你的路徑在那裏。 – Vamsi 2012-07-27 11:45:13

+0

確定它已經工作。但是,文件的最大大小是否有限制? – user1425871 2012-07-27 11:49:02

0

我嘗試了所有其他的建議,但沒有一個爲我工作。然後我意識到Uploadify的3.2版(以及以前的版本)需要時間戳和哈希標記才能完成上傳。

首先,我必須將腳本從外部JS文件移動到我的PHP文件,以便我可以從PHP獲取時間戳。 (你也可以通過隱藏的輸入值或其他方法來做到這一點,但這是最簡單的方法。)然後,我必須將'formData' option添加到我的Uploadify調用中,以及一些獲取時間戳的PHP代碼,並使用獨特的鹽(你應該更改爲隨機字符串):

<?php $timestamp = time();?> 
<script> 
$('#file_upload').uploadify({ 
    'swf'  : '/uploadify/uploadify.swf', 
    'uploader' : '/uploadify/uploadify.php', 
    'formData' : { 
     'timestamp' : '<?php echo $timestamp;?>', 
     'token'  : '<?php echo md5("unique_salt" . $timestamp);?>' 
    } 
}); 
</script> 

儘管此代碼似乎在3.2版本是必需的,它不是在implementation documentation提及。我必須查看下載包中的index.php文件才能找到它。

0

我有同樣的問題。在嘗試了本文中提到的所有內容後,我意識到必須設置目標文件夾的絕對路徑。 那麼,什麼工作對我來說是改變uploadify.php如下:

$ targetFolder = '/無功/網絡/虛擬主機/ DOMAIN/httpdocs資料/上傳'

然後我刪除了DOCUMENT_ROOT FROM $ TARGETPATH只需要離開$ targetFolder,如下所示: $ targetPath = $ targetFolder;

我還添加了時間戳和令牌到我的JS調用,如上。

現在一切正常。希望這可以幫助別人:-)

0

的問題是與上傳文件夾 我路徑的路徑:

$ targetFolder = '../../upload/orginal'; //相對於根

相關問題