Reputation: 2371
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
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