2017-06-22 3 views
1

私はカスタムWordPressプラグインを開発中です。このプラグインでは、wp-content \ uploads \ passports(フォルダパス)にファイルをアップロードしようとしています。
ファイルをアップロードする際にエラーメッセージが表示されません。それはを示していますが、ファイルが正常にアップロードされました。というメッセージが表示されますが、フォルダにアップロードされたファイルはありません。ここ
は私のコードです:カスタムWordPressプラグインでファイルをアップロードできません

<?php 
    $parse_uri = explode('wp-content', $_SERVER['SCRIPT_FILENAME']); 
    require_once($parse_uri[0] . 'wp-load.php'); 


    //generate unique file name 
    $fileName = time().'_'.basename($_FILES["file"]["name"]); 

    //file upload path, targetdir is correct 
    $targetDir = "../../../uploads/passports/"; 
    $targetFilePath = $targetDir . $fileName; 

    //upload file to server 
    if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){ 
    //if (file_exists ($targetDir."testing.txt")){ 
     $response['status'] = 'ok'; 
    }else{ 
     $response['status'] = 'err'; 
    } 

    //render response data in JSON format 
    echo json_encode($response); 
?> 

uploadfile.php

旅行-form.php

<tr><td cospan="4">Please attach a scanned copy of your:</td></tr> 
<tr> 
    <td>Passport:&nbsp;</td> 
    <td colspan="3"><input type="file" name="passport" id="passport"/></td> 
</tr> 
<tr> 
    <td></td> 
    <td colspan="3"><div id="dropBox"> 
     <p>Select file to upload</p> 
    </div></td> 
</tr> 

script.js

// Add events 
$j('input[type=file]').on('change', fileUpload); 

// File uploader function 
function fileUpload(event){ 
    alert('fileUpload'); 
    //notify user about the file upload status 
    $j("#dropBox").html(event.target.value+" uploading..."); 

    //get selected file 
    files = event.target.files; 

    //form data check the above bullet for what it is 
    var data = new FormData();   

    var web_url = document.location + ''; 
    var path = web_url.substring(0,web_url.lastIndexOf('/')); 

    path = path.substring(0,path.lastIndexOf('/')); 
    path = path + '/wp-content/plugins/trip-form/pages/uploadfile.php';  

    //file data is presented as an array 
    for (var i = 0; i < files.length; i++) { 
     var file = files[i]; 

     var fileExtension = ['jpeg', 'jpg', 'pdf']; 
     if ($j.inArray($j('#passport').val().split('.').pop().toLowerCase(), fileExtension) == -1) { 
      $j("#dropBox").html("Only formats are allowed : "+fileExtension.join(', ')); 
     }else{ 
      //append the uploadable file to FormData object 
      data.append('file', file, file.name); 

      //create a new XMLHttpRequest 
      var xhr = new XMLHttpRequest();  

      //post file data for upload 
      xhr.open('POST', path, true); 
      xhr.send(data); 
      xhr.onload = function() { 
       //get response and show the uploading status 
       var response = JSON.parse(xhr.responseText); 
       if(xhr.status === 200 && response.status == 'ok'){ 
        $j("#dropBox").html("File has been uploaded successfully."); 
       }else{ 
        $j("#dropBox").html("Some problem occured, please try again."); 
       } 
      }; 
     } 
    } 
} 

私が間違って何であるか見当がつかない。どんな助けもありがとう。
ありがとうございます。

答えて

0

アップロードフォルダの権限を変更してください。それを755にします。

関連する問題