formData オプションを介してセッション データを渡すための uploadify (v3.1) の回避策に問題があります。このページの提案を実装しましたが、HTTP 500 エラーが発生します。
回避策が本当に機能しているかどうか、つまりセッション ID が実際に uploadify.php に渡されているかどうかを確認するために、セッションの内容を確認する方法を考えています。uploadify.php にエコーされた変数を返す通常の方法は onUploadSuccess イベントですが、アップロードが正常に完了しないため、これを使用できません!
だから私は他にどんな選択肢があるのだろうかと思っています。var_dump( $_SESSION );
またはなどのメソッドdie(print($_SESSION));
は知っていますが、これらが返す情報をどこで探すべきかわかりません。
役立つ場合に備えて、完全な uploadify.php スクリプトを以下に含めます。
ありがとう、
ニック
<?php
$session_name = session_name();
if (!isset($_POST[$session_name])) {
exit;
} else {
session_id($_POST[$session_name]);
session_start();
}
/*
Uploadify
Copyright (c) 2012 Reactive Apps, Ronnie Garcia
Released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
// Define a destination
$targetPath = 'media/' . $_SESSION["user_name"] . '/';
if (!empty($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetFile = $targetPath . $_FILES['Filedata']['name'];
// Validate the file type
$fileTypes = array('jpg','jpeg','gif','png'); // File extensions
$fileParts = pathinfo($_FILES['Filedata']['name']);
if (in_array($fileParts['extension'],$fileTypes)) {
move_uploaded_file($tempFile,$targetFile);
echo '1';
} else {
echo 'Invalid file type.';
}
}
?>