2011-10-04 4 views
1

나는 지금 uploadify에 어려움을 겪고 있습니다. 나는 문서를 따라 왔지만, 내 인생에 대한 파일을 폴더로 업로드 할 수 없습니다.Uploadify. 업로드는 작동하지만 폴더에 저장하지 않습니다.

OSX에서 MAMP를 사용하고 있습니다. 업로드 할 때 업로드 표시 줄을 볼 수 있지만 JS 콘솔의 Chrome에는 오류가 표시되지 않습니다. TMP 폴더는 당신은 아마 $있는 TargetPath에 /를 추가 할 필요가 777

보기/upload.php로

<!DOCTYPE html> 
<html lang="en"> 
<head> 

<link href="<?php echo base_url() ?>assets/uploadify/uploadify.css" type="text/css" rel="stylesheet"> 

<script type="text/javascript" src="<?php echo base_url() ?>assets/uploadify/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="<?php echo base_url() ?>assets/uploadify/jquery.uploadify.v2.1.4.min.js"></script> 
<script type="text/javascript" src="<?php echo base_url() ?>assets/uploadify/swfobject.js"></script> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#file_upload').uploadify({ 
      'uploader' : '<?php echo base_url() ?>assets/uploadify/uploadify.swf', 
      'script' : '<?php echo base_url() ?>assets/uploadify/uploadify.php', 
      'cancelImg' : '<?php echo base_url() ?>assets/uploadify/cancel.png', 
      'auto'  : true 
     }); 
    }); 


</script> 
</head> 
<body> 

<input id="file_upload" name="file_upload" type="file"> 
</body> 
</html> 

upload.php로

<?php 
if (!empty($_FILES)) { 
$tempFile = $_FILES['Filedata']['tmp_name']; 
$targetPath = '/Applications/MAMP/htdocs/tmp'; 
$targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name']; 

    move_uploaded_file($tempFile,$targetFile); 
    echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile); 

} 
+1

$ targetPath에 '/'를 추가해야합니다. –

+0

매력처럼 작동합니다. Pekka에게 감사드립니다. – GV1

+0

문제 없습니다. 대답으로 추가하겠습니다. –

답변

1

입니다 :

$targetPath = '/Applications/MAMP/htdocs/tmp/'; 

일반적으로이 내용을 디버깅하는 한 가지 방법은 일반 파일 업로드를 양식에 작성하는 것입니다. 그렇게하면 업로드 스크립트에서 테스트 결과를보고 볼 수 있습니다. 모든 것이 서버 측에서 작동하면 클라이언트 측에서 SWFUpload를 사용하여 다시 전환하십시오.

+0

Worked. 항상 두통을 유발하는 간단한 솔루션입니다. – GV1

+1

@ GV1 more note : 사용자 제공 파일 이름을 사용하여 서버에 파일을 저장하면 보안상의 위험이 있으며 오작동 할 수 있습니다 (예 : 파일 이름에 파일 시스템에서 허용하지 않는 문자가 포함 된 경우). 자체 생성 된 이름을 사용하는 것이 더 안전합니다. 나중에 필요할 경우 사용자가 제공 한 이름을 데이터베이스에 저장하십시오. –

+0

@Pekka에 관심을 가져 주셔서 감사합니다. 저는 실제로 파일 이름을 암호화하고 파일 형식을 제한하는 CodeIgniters 파일 업로드 클래스를 사용하고 있습니다. 위의 예제로 Uploadify를 테스트했습니다. – GV1

관련 문제