2013-02-13 2 views
0
<?php 
include('includes/db.php'); 

$drinks_cat = $_POST['drinks_cat']; 
$drinks_name = $_POST['drinks_name']; 
$drinks_shot = $_POST['drinks_shot']; 
$drinks_bottle = $_POST['drinks_bottle']; 
$drinks_availability = 'AVAILABLE'; 

$msg = "ERROR: "; 
$itemimageload="true"; 
$itemimage_size=$_FILES['image']['size']; 
$iname = $_FILES['image']['name']; 
if ($_FILES['image']['size']>250000){$msg=$msg."Your uploaded file size is more than 250KB so please reduce the file size and then upload.<BR>"; 
$itemimageload="false";} 

if (!($_FILES['image']['type'] =="image/jpeg" OR $_FILES['image']['type'] =="image/gif" OR $_FILES['image']['type'] =="image/png")) 
{$msg=$msg."Your uploaded file must be of JPG , PNG or GIF. Other file types are not allowed<BR>"; 
$itemimageload="false";} 

$file_name=$_FILES['image']['name']; 
$add="images"; // the path with the file name where the file will be stored 


if($itemimageload=="true") 
{ 
    if (file_exists($add) && is_writable($add)) 
    { 
     if(move_uploaded_file ($_FILES['image']['tmp_name'], $add."/".$_FILES['image']['name'])) 
     { 
     echo "Image successfully updated!"; 
     } 
     else 
     { 
     echo "Failed to upload file Contact Site admin to fix the problem"; 
     } 
    } 
    else 
    { 
    echo 'Upload directory is not writable, or does not exist.'; 
    } 
} 
else 
{ 
    echo $msg; 
} 

$dir = $add."/".$iname; 
echo "<BR>"; 
// Connects to your Database 



mysql_query("INSERT INTO `product_drinks`(`drinks_id`, `drinks_cat`, `drinks_name`, `drinks_shot`, `drinks_bottle`, `drinks_image`, `drinks_availability`) VALUES (NULL,'".$drinks_cat."', '".$drinks_name."','".$drinks_shot."','".$drinks_bottle."','".$dir."','".$drinks_availability."')") or die("insert error"); 

Print "Your table has been populated"; 
?> 

Код, над которым я работаю, но мне нужно создать новую папку «image» для моей папки администратора. Есть ли способ, что я мог бы загрузить файл вне папки администратора и переместить его в исходную папку «изображения»». Я знаю, что это довольно странно, но мой каталог выглядит следующим образом.Загрузить изображение в существующую папку PHP

clubmaru -admin Прообразов

-css -js-образов

+0

вы можете перемещать его в любом месте, я не понимаю проблемы – 2013-02-13 19:07:30

+0

просто используйте $ add = "../ images"; или использовать полный реальный путь, как (C: \ user \ images), или на linux/home/user/public_html/images – 2013-02-13 19:09:19

+1

этот сценарий ОПАСНО. он полон дыр в безопасности, до такой степени, что его установка на производственную систему откроет сервер для полного удаленного компрометации. НЕ ИСПОЛЬЗУЙТЕ ЭТОТ КОД. –

ответ

1

Вы можете искать РНР переименовывать функция. http://php.net/manual/en/function.rename.php

Задайте параметр oldname в файле (с его путем) и параметром newname, где вы хотите (как и новый путь, очевидно)

Просто убедитесь, что «папка с изображениями» вы хотите переместить файл чтобы иметь правильный набор разрешений, убедитесь, что он доступен для записи. Вы также можете рассмотреть возможность изменения параметра в файле move_uploaded_file, чтобы поместить файл, в котором вы хотите его в первую очередь!

0

Да, есть способ, вам нужно изменить путь. Прямо сейчас у вас есть путь как images/$name, что означает, что он поместит файл в каталог изображений, найденный в локальном каталоге, в скрипт, который запущен.

Использование макета каталога:

clubmaru 
    ->admin 
    ->script.php (the upload file) 
    ->images 
    ->css 
    ->images 
     ->js 

Вы делаете путь относительно (или найти другую альтернативу)

$add="../css/images"; 

Это означает, поднимитесь каталог, перейдите в CSS, то в образы.

Смежные вопросы