jQuery-File-Upload을 PHP 및 데이터베이스와 함께 사용 하시겠습니까? 이미지를 업로드하거나 삭제할 때 이미지에 대한 행을 삽입하거나 삭제하고 해당 이미지를 디렉토리에 업로드 할 때 각 이미지의 이름이 time()이됩니다.Jquery-File-Upload PHP를 마지막 릴리스에서 데이터베이스와 함께 사용하는 방법은 무엇입니까?
내가 upload.class.php하는 편집하지만 마지막 릴리스 has index.php and UploadHandler.php only이 필요하다는 것을 말해 구글을 통해 발견 된 모든 결과 ...
파일 UploadHandler.php 코드
public function post($print_response = true) {
if (isset($_REQUEST['_method']) && $_REQUEST['_method'] === 'DELETE') {
return $this->delete($print_response);
}
$upload = isset($_FILES[$this->options['param_name']]) ?
$_FILES[$this->options['param_name']] : null;
// Parse the Content-Disposition header, if available:
$file_name = isset($_SERVER['HTTP_CONTENT_DISPOSITION']) ?
rawurldecode(preg_replace(
'/(^[^"]+")|("$)/',
'',
$_SERVER['HTTP_CONTENT_DISPOSITION']
)) : null;
$file_type = isset($_SERVER['HTTP_CONTENT_DESCRIPTION']) ?
$_SERVER['HTTP_CONTENT_DESCRIPTION'] : null;
// Parse the Content-Range header, which has the following form:
// Content-Range: bytes 0-524287/2000000
$content_range = isset($_SERVER['HTTP_CONTENT_RANGE']) ?
preg_split('/[^0-9]+/', $_SERVER['HTTP_CONTENT_RANGE']) : null;
$size = $content_range ? $content_range[3] : null;
$info = array();
if ($upload && is_array($upload['tmp_name'])) {
// param_name is an array identifier like "files[]",
// $_FILES is a multi-dimensional array:
foreach ($upload['tmp_name'] as $index => $value) {
$info[] = $this->handle_file_upload(
$upload['tmp_name'][$index],
$file_name ? $file_name : $upload['name'][$index],
$size ? $size : $upload['size'][$index],
$file_type ? $file_type : $upload['type'][$index],
$upload['error'][$index],
$index,
$content_range
);
}
} else {
// param_name is a single object identifier like "file",
// $_FILES is a one-dimensional array:
$info[] = $this->handle_file_upload(
isset($upload['tmp_name']) ? $upload['tmp_name'] : null,
$file_name ? $file_name : (isset($upload['name']) ?
$upload['name'] : null),
$size ? $size : (isset($upload['size']) ?
$upload['size'] : $_SERVER['CONTENT_LENGTH']),
$file_type ? $file_type : (isset($upload['type']) ?
$upload['type'] : $_SERVER['CONTENT_TYPE']),
isset($upload['error']) ? $upload['error'] : null,
null,
$content_range
);
}
return $this->generate_response($info, $print_response);
}
public function delete($print_response = true) {
$file_name = $this->get_file_name_param();
$file_path = $this->get_upload_path($file_name);
$success = is_file($file_path) && $file_name[0] !== '.' && unlink($file_path);
if ($success) {
foreach($this->options['image_versions'] as $version => $options) {
if (!empty($version)) {
$file = $this->get_upload_path($file_name, $version);
if (is_file($file)) {
unlink($file);
}
}
}
}
return $this->generate_response($success, $print_response);
}
와 클래스 UploadHandler있다 mysql에서 파일 이름을 삽입하거나 삭제하기 위해 어떤 행을 추가해야합니까?
PS : 나는 PHP
로키, 당신에 의해 뜻 무엇을'를 붙여 이 코드는 다음과 같습니다. if ($ success) {'를'$ this-> delete_img ($ file_name);'로 대체하거나'if ($ success) {'??? – Wilf
제 해석 : Loki가 제공하는 코드로 * if 구조체 내의 코드를 덮어 씁니다. 결국, 다음과 같이 보일 것입니다 :'if ($ success) {$ this-> delete_img ($ file_name); }' – gibberish
그가 의미하는 바는'if ($ success) {'그러나'foreach ($ this-> options [ 'image_versions'] $ version => $ options) {'success ' '. 나는 그것을 사용하고 그것은 작동합니다. – tatty27