2012-07-27 3 views
0

uploadify는 작동하지만 폴더로 업로드하지는 않습니다. 복사하려면 어떻게해야합니까?uploadify는 작동하지만 폴더에 업로드하지 않습니다.

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

을 시도해보십시오 폴더는 여기

777가 필요한 경우 페이지입니다

<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에 echo $ targetPath가 있습니다.

+0

그것은 정의되지 않은 함수를 호출합니다. base_url() – user1425871

+0

@ user1425871 : base_url은 내 경로로 정의 된 함수입니다. – Vamsi

+0

확인되었습니다. 하지만 파일의 최대 크기 제한이 있습니까? – user1425871

0

나는 여기에서 다른 모든 제안을 시도했지만 그 중 누구도 나를 위해 일하지 않았습니다. 그런 다음 Uploadify 3.2 버전 (및 이전 버전에서도) 업로드를 완료하려면 타임 스탬프와 해시 토큰이 필요하다는 것을 알았습니다.

먼저 PHP에서 타임 스탬프를 얻을 수 있도록 외부 JS 파일에서 PHP 파일로 스크립트를 이동해야했습니다. (숨겨진 입력 값이나 다른 방법으로도이 작업을 수행 할 수 있지만 가장 간단한 방법입니다.) 그런 다음 'formData' option을 Uploadify 호출에 추가해야합니다.이 코드는 타임 스탬프를 가져 와서 고유 한 소금으로 해시하는 일부 PHP 코드와 함께 사용됩니다 (당신은 임의의 문자열로 변경해야하는) :이 코드는 버전 3.2에서 필요한 것 같다

<?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> 

있지만,이 implementation documentation에 언급되지 않습니다. 다운로드 패키지에 들어있는 index.php 파일을 찾아 보았습니다.

0

나는 동일한 문제가있었습니다. 이 게시물에 언급 된 모든 내용과 주제에 대한 다른 게시물을 시도한 후에 대상 폴더의 절대 경로를 설정해야한다는 것을 알게되었습니다. $있는 TargetPath FROM = '은/var/www /에서 가상 호스트/도메인/httpdocs/업로드'나는 제거 다음

DOCUMENT_ROOT

$ targetFolder : 그래서, 나를 위해 일하면 uploadify.php에서 다음을 변경했다 다음과 같이 $ targetFolder를 떠날 수 있습니다 : $ targetPath = $ targetFolder;

또한 위와 같이 JS 호출에 타임 스탬프와 토큰을 추가했습니다.

모든 것이 이제 작동합니다. ;

$ targetFolder = '../../upload/orginal': 희망이 :-)

0

문제가 업로드 폴더 내 길의 경로로 사람이었다 도움 // 루트를 기준으로

관련 문제