2014-02-20 10 views
1

양식에서 오는 데이터를 기반으로 클래스를 인스턴스화 할 때 내 PHP 스크립트는 이름 입력 필드에서 데이터를 가져 = "파일은 []"예를 들어, 누군가를 위해내가 특정 클래스를 인스턴스화 할

하나를 사용하여 파일을 업로드 내 양식의 입력 필드 중 jquery는 json으로 php에 데이터를 보내고 php에서는 다른 클래스를 입력하고 각 클래스는 name 속성의 입력 필드 값을 기반으로 인스턴스화합니다.

내가 누군가, 간단한 클래스 UploadHandler 인스턴스화해야 데이터를 전송하는 것을 지정된 입력 필드를 사용하지 않는 경우

error_reporting(E_ALL | E_STRICT); 
require('UploadHandler.php'); 
if (!empty($_REQUEST) && empty($_REQUEST['files[]']) && empty($_REQUEST['files2[]'])) { 
$upload_handler1 = new UploadHandler(); 
} 
else { 
    if ($_REQUEST['files']) { 
    $custom_upload_handlerone = new customUploadHandlertwo(); 
    } 
    if ($_REQUEST['files2']) { 
    $custom_upload_handlertwo = new customUploadHandlerone(); 
    } 
} 

을하려고 내가 입력 필드를 보낼 일단의 이름으로 말을 할 수있는 무슨이다 = "file2 []"속성. 스크립트는 UploadHandler 인스턴스화를 중단하고 클래스 customUploadHandlertwo 인스턴스화

+0

문제점을 더 설명 할 수 있습니까? 이것은 분명하지 않다 : "UploadHandler 클래스는 지정된 입력 필드 데이터를 PHP 스크립트에 보낼 때까지 인스턴스화해야한다." –

+0

정보 수정 – Muhammad

답변

1

필드 및 PHP 클래스의 이름 특성과의 관계가 있다고 가정합니다. 그렇다면 다음과 같이 해당 클래스의 인스턴스화는 간단합니다.

... 
else { 
    if ($_REQUEST['files']) { 
    $className = $_REQUEST['files']; 
    $custom_upload_handlerone = new $className(); 
    } 
    if ($_REQUEST['files2']) { 
    $className = $_REQUEST['files2']; 
    $custom_upload_handlertwo = new $className(); 
    } 
} 
... 
+0

고맙습니다 code-jaff 현재 작동 중입니다. – Muhammad

관련 문제