ユーザー名のセッション変数を使用して、uploadify (バージョン 3.1) でアップロード パスを指定する必要があります。次を使用する uploadifive.php では、正常に動作します。
$uploadDir = 'media/' . $_SESSION["user_name"] . '/';
ただし、uploadify では、同じコードを使用すると、ファイルはメディア フォルダーにアップロードされるだけです (ユーザー フォルダーは無視されます)。私は $_SESSION["user_name"] を uploadify.php にエコーし、onUploadSuccess 関数を使用してこれを取得しました。実際、セッションを開始したにもかかわらず、username 変数が uploadify.php に渡されません。
これがuploadifyではなくuploadifiveで機能するのは奇妙に思えます。私はPHPにあまり精通していないので、これについて何か助けていただければ幸いです。
以下に完全な uploadify.php スクリプトを含めます。
ありがとう、
ニック
<?php
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.';
}
}
?>