Динамическое назначение файла с Uploadify - PullRequest
0 голосов
/ 13 января 2012

Я хочу сохранить свои изображения в разных папках, и они принадлежат моим записям в MySQL.

Код:

<?php

if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];                          // 1
    @session_start();
    $_SESSION['recipe_id'] = 5;
    if (isset($_SESSION['recipe_id']))
    {
        $location = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/'.$_SESSION['recipe_id'] .'/';
            if(!is_dir($location))
            {
            mkdir($location);
            }
            $targetPath = $location;
            include 'db_connect.php';
            $sql = "SELECT recipes_id FROM IMAGE WHERE recipes_id="+$_SESSION['recipe_id'];
            $result = mysql_query($sql,$db) or exit("QUERY FAILED!");
            $anzahl = mysql_num_fields($result); 
            $anzahl++;
            $targetFile =  str_replace('//','/',$targetPath) . $anzahl.$_FILES['Filedata']['tmp_name'];
            move_uploaded_file($tempFile,$targetFile);
    }
    else
    {
    echo "Server Error";
    }
}
?>

Папка будет создана, но в правильной папке нет изображения.

Настройки загрузки:

'script'    : '/uploadify/uploadify.php',
    'uploader'  : '/uploadify/uploadify.swf',
    'cancelImg' : '/uploadify/cancel.png',
    'folder'    : '/img/recipes',
    'auto'      : true

Пожалуйста, помогите

1 Ответ

1 голос
/ 20 января 2012

Я думаю, что имя файла наконец не берется.Попробуйте, это может работать для вас:

<?php
    if (!empty($_FILES)) {
        $tempFile = $_FILES['Filedata']['tmp_name'];                          // 1
        @session_start();
        $_SESSION['recipe_id'] = 5;
        if (isset($_SESSION['recipe_id'])) {
            $path = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/'.$_SESSION['recipe_id'] .'/';
            if(!is_dir($path)) {
                mkdir($path);
            }
            $targetPath = $path;
            include 'db_connect.php';
            $sql = "SELECT recipes_id FROM IMAGE WHERE recipes_id="+$_SESSION['recipe_id'];
            $result = mysql_query($sql,$db) or exit("QUERY FAILED!");
            $anzahl = mysql_num_fields($result); 
            $anzahl++;

            $file_temp = $_FILES['Filedata']['tmp_name'];
            $file_name = $anzahl.prep_filename($_FILES['Filedata']['name']);
            $file_ext = get_extension($_FILES['Filedata']['name']);
            $real_name = $file_name;
            $newf_name = set_filename($path, $file_name, $file_ext);
            $file_size = round($_FILES['Filedata']['size']/1024, 2);
            $file_type = preg_replace("/^(.+?);.*$/", "\\1", $_FILES['Filedata']['type']);
            $file_type = strtolower($file_type);
            $targetFile =  str_replace('//','/',$targetPath) . $newf_name;
            move_uploaded_file($tempFile,$targetFile);
        }
        else {
            echo "Server Error";
        }
    }
    ?>
...