2014-12-30 2 views
0
$pid = $wpdb->insert_id; 
$newname = "$pid.jpg"; 

$dir = plugin_dir_path(__FILE__); 
    echo "<pre>"; 
    var_dump($dir); 
    echo "</pre><br>"; 
move_uploaded_file($_FILES['fileField']['tmp_name'], "images/$newname"); 


$message ="directoryBase inserted"; 

위의 내용은이 Wordpress 스 니펫을 디버깅하기위한 나의 시도입니다. 기본적으로 저는 사람들의 미니 디렉토리를 만들고 있습니다. 오른쪽이 코드 조각 위의WP 플러그인 이미지 업로드

는 실행시 내 $의 PID를 반환 내 MYSQLI 삽입 문입니다. ID은 데이터베이스에 삽입 된 다음 데이터베이스에서 행이 호출 될 때 이미지를 표시 할 준비가되면 URL을 일치시키고 가져 오는 데 사용합니다.

일반적으로 이미지 용 디렉토리를 만들고 위에 설명한대로이 디렉토리에 이미지를 설정합니다. images/폴더는 플러그인 기본 디렉토리 내에 있습니다.

나는 move_uploaded_file 라인을 결정하는 데 문제.

내가 지금까지 위 또는 아래로 올바른 디렉토리를 찾기 위해 이동하는 방법을 알아낼 수있는 특정 방법이 있나요. 오류가 발생하지 않고 사용자 정의 플러그인 디렉토리에 이미지가 추가되지 않습니다.

나는 완전히 워드 프레스과 스너프까지 모르겠지만, 충분히 PHP 위험한 것으로 알고있다.

답변

1

디렉토리에 파일을 이동하는 마음에 단계에 따라 보관하기 전에 : 등 이미지, PDF, 워드 파일과 같이 업로드 할 파일의 종류

  1. 확인
  2. 파일의 크기를 확인 당신에게 그것의 필요한 경우. 당신이 파일을 업로드 할 디렉토리는
  3. 확인은 위의 모든 점을 통과하면 디렉토리

의 권한을 확인 php.ini 파일

  • 에서 업로드 최대 크기를 증가했는지 확인하십시오 존재 여부 move_uploaded_file()으로 진행하십시오.
    이제 스크립트로 이미지 디렉토리가 플러그인에 있는지 또는 저장하려는 위치에 있는지 확인하십시오.

    // http://codex.wordpress.org/Function_Reference/plugin_dir_path 
    $path = plugin_dir_path(__FILE__); 
    if(! is_dir($path.'images')) { 
        mkdir($path.'images', 0755); 
    } 
    

    다음이 당신을 도울 것이

    // Return true if file moved successfully 
    if(move_uploaded_file($_FILES['fileField']['tmp_name'], $path."images/$newname")) { 
    } 
    

    희망처럼 move_uploaded_file를 사용합니다.

  • +0

    이 작업은 효과가 있지만 안전하지 않으므로 디렉터리 또는 파일에 0777 권한을 설정해서는 안됩니다. mkdir을 사용하는 경우 디렉토리에 0755 권한을 사용하십시오. – th3v0id

    +0

    @ 딜란, 권한 감사에 동의합니다. –

    관련 문제