4

PHP を使用して UploadHandler.php を呼び出して画像をアップロードする方法を知っている人はいますか?

どの情報をどの形式で渡す必要があるのか​​ わかりません。

これが私がこれまでに持っているものです:

$prop="test";
session_id($prop);
@session_start();
$url = 'http://christinewilson.ca/wp-content/uploads/2013/02/port_rhdefence.png';
$file_name[] = file_get_contents($url);

error_reporting(E_ALL | E_STRICT);
require('UploadHandler.php');
$upload_handler = new UploadHandler(array(
    'user_dirs' => true
));
4

5 に答える 5

4

応答は UploadHandler クラス オブジェクト内に含まれており、以下に示すように取得できます。

$upload_handler = new UploadHandler();
$response = $upload_handler->response;
$files = $response['files'];
$file_count = count($files);
for ($c = 0; $c < $file_count; $c++) {
   if (isset($files[$c]->error))
       continue;
   $type = $files[$c]->type;
   $name = $files[$c]->name;
   $url = $files[$c]->url;
}
于 2015-01-23T06:08:25.687 に答える
2

基本プラグインを使用できます:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>jQuery File Upload Example</title>
</head>
<body>
<input id="fileupload" type="file" name="files[]" data-url="server/php/" multiple>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="js/vendor/jquery.ui.widget.js"></script>
<script src="js/jquery.iframe-transport.js"></script>
<script src="js/jquery.fileupload.js"></script>
<script>
$(function () {
    $('#fileupload').fileupload({
        dataType: 'json',
        done: function (e, data) {
            $.each(data.result.files, function (index, file) {
                $('<p/>').text(file.name).appendTo(document.body);
            });
        }
    });
});
</script>
</body> 

于 2013-05-15T09:38:22.790 に答える
1

PHP で UploadHandler.php が作成したすべての URL を mySQL データベースに書き込みたいという同じ問題に遭遇しました。コードを調べてみると、

public function post($print_response = true)

実際には、generate_response (画像サイズ、サニタイズされた URL などのすべての処理された画像メタデータを含む配列) からデータ構造を返しますが、$this->post() への呼び出しは何もしません。だから私は変数を追加します

protected $upload_content = [];

クラス定義に追加し、関数のロジックを変更しました

protected function initialize()

        case 'POST':
             $this->upload_content = $this->post(false);
             break;

画像が処理された後にこの変数を更新するには (GET を使用している場合は、GET の場合と同様のことを行う必要があります)。次に、クラスにパブリック関数を追加して、この変数を取得します

 public function get_upload_content() {
     return $this->upload_content;
 }

UploadHandler クラスを次のように呼び出すことができるようになりました

 $upload_handler = new UploadHandler();
 $images = $upload_handler->get_upload_content();
 // Call a function that writes the urls in $images array to a database

お役に立てれば!

于 2014-06-11T00:40:04.757 に答える