user896692
user896692

Reputation: 2371

Dynamic Filedestination with Uploadify

I want to save my pictures in different folders and it belongs to my mysql db entries.

Code:

<?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";
    }
}
?>

The folder will be created but no picture is in the correct folder.

Uploadify settings:

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

Please help

Upvotes: 0

Views: 221

Answers (1)

Somnath Muluk
Somnath Muluk

Reputation: 57846

I think it is not taking file name at last. Try this it might work for you:

<?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";
        }
    }
    ?>

Upvotes: 1

Related Questions