0

http://www.shedlimited.debrucellc.com

このサイトでは、ユーザーは、phpスクリプト内の$ uploaded_imgに保存されているPHPスクリプト(ajaxupload.php)を介して画像をアップロードできます。新しく保存した画像のPATHをJSファイルに渡したいのですが、それを行う唯一の方法は、値をテキストファイルに書き込むことです。これは非常にやり過ぎです。

file_put_contents("testFile.txt", "");
$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");

$stringData = $upload_image;
fwrite($fh, $stringData);
$stringData = "\n";
fwrite($fh, $stringData);
fclose($fh);

同時に、html5Canvasなどをロードする外部.jsファイルを実行しています。

外部の.jsファイル内にグローバル変数sourcerを設定しました。これは、phpスクリプトでURLを書き込んだファイルからURLを読み取ることで、index.phpからアクセスして更新できます。

jQuery.get('scripts/testFile.txt', function(data) {
sourcer = data;
});

手動でテキストファイルに挿入せずにURL値をsourcerに渡す方法はありますか?

4

2 に答える 2

1

PHPテンプレートの頭にブロックを追加します。

<script type="text/javascript">
    var uploaded_img = '<?php echo json_encode($uploaded_img); ?>';
</script>

json encodeは、変数がオブジェクトまたは配列であっても、変数が適切にエンコードされていることを確認します。

それが純粋にajaxのものである場合。ajax応答でファイル名を返すだけです。したがって、ajaxアップロードに投稿し、ajaxスクリプトがファイル名を持つjsonオブジェクトを返すようにします。

したがって、アップロードスクリプトでは、下部に次のように表示されます。

header('Content-type: application/json');
echo json_encode(array('filename'=>$uploaded_img));

そして、javascriptでresponse.filenameを読みます。

于 2013-01-18T12:40:44.310 に答える
0

セッション変数を使用してアップロードされた画像とajax応答を保存して操作するのはどうですか?

両方を使用する利点があります。画像がアップロードされた直後に、アップロードページで直接値を使用できます。また、セッション変数の場合、別のコンテキストから値にアクセスする必要がある場合に、サーバー側が常に値を取得できるようにします。

于 2013-01-18T12:53:34.940 に答える