2013-09-03 5 views
0

Я обновляю свою админку моего сайта.изменить имя при загрузке

В настоящее время мне удалось добавить страницу добавления, которая загружает в базу данных для моего сайта для отображения содержимого.

Внутри этой страницы есть кнопка загрузки изображения.

Когда я выбираю файл из этой кнопки загрузки, он сохраняет изображение в папку «Мои/изображения».

Однако. Когда я загружаю изображения, используя эту функцию на своем ipad, он загружает ВСЕ изображения как image.jpg.

Что мне сейчас нужно это:

мне нужно загруженные изображения, чтобы сохранить имя бренда, а не оригинальное загруженное имя изображения. Поэтому, если я загружу «image.jpg», тогда введите APPLE в качестве бренда, я хочу, чтобы изображение сохранялось как apple.jpg при загрузке файла.

моя текущая страница add.php это:

<?php 

session_start(); 

include_once('../include/connection.php'); 

if (isset($_SESSION['logged_in'])){ 
    if (isset($_POST['title'], $_POST['content'])) { 
     $title = $_POST['title']; 
     $content = nl2br($_POST['content']); 
     if (!empty($_POST['image'])) 
     { 
      $image = $_POST['image']; 
     } 
     else 
     { 
      $image = $_POST['imageupload']; 

      if (isset($_FILES['imageupload'])) 
      { 
       $errors = array(); 
       $allowed_ext = array('jpg', 'jpeg', 'png', 'gif'); 

       $file_name = $_FILES['imageupload'] ['name']; 
       $file_ext = strtolower (end (explode ('.', $file_name))); 
       $file_size = $_FILES['imageupload'] ['size']; 
       $file_tmp = $_FILES['imageupload'] ['tmp_name']; 

       if (in_array ($file_ext, $allowed_ext) === false) { 
        $errors[] = 'File extension not allowed'; 
       } 

       if ($file_size > 2097152) { 
        $errors[] = 'File size must be under 2mb'; 
       } 

       if (empty($errors)) { 
        if (move_uploaded_file($file_tmp, 'images/'.$file_name)) { 
          echo 'File uploaded'; 
          $image = 'http://www.xclo.mobi/xclo2/admin/images/'.$file_name; 
       } 
       }else{ 
        foreach ($errors as $error) 
        echo $error, '<br />'; 
       } 

      } 
     } 
     $link  = $_POST['link']; 
     $category = $_POST['category']; 
     $brand = $_POST['brand']; 


if (empty($title) or empty($content)) { 
     $error = 'All Fields Are Required!'; 
}else{ 
$query = $pdo->prepare('INSERT INTO mobi (promo_title, promo_content, promo_image, promo_link, promo_cat, promo_name) VALUES(?, ?, ?, ?, ?, ?)'); 
$query->bindValue(1, $title); 
$query->bindValue(2, $content); 
$query->bindValue(3, $image); 
$query->bindValue(4, $link); 
$query->bindValue(5, $category); 
$query->bindValue(6, $brand); 



    $query->execute(); 
    header('location: index.php'); 
} 

} 
      ?> 
    <?php 

if (isset($_FILES['Filedata'])) 
{ 
// And if it was ok 
    if ($_FILES['Filedata']['error'] !== UPLOAD_ERR_OK) 
    exit('Upload failed. Error code: ' . $_FILES['image']['error']); 

    $filename = $_FILES['Filedata']['name']; 
    $targetpath = "../img/news/" . $filename; //target directory relative to script location 

    $copy = copy($_FILES['Filedata']['tmp_name'], $targetpath); 
} 
?> 

<html> 
<head> 
<title>Add Article</title> 
<link rel="stylesheet" href="../other.css" /> 
</head> 

<body> 
<div class="container"> 
<a href="index.php" id="logo"><b>&larr; Back</b></a> 

<br /> 

<div align="center"> 
<h4>Add Article</h4> 

<?php if (isset($error)) { ?> 
    <small style="color:#aa0000;"><?php echo $error; ?></small><br /><br /> 
<?php } ?> 

<form action="" method="post" autocomplete="off" enctype="multipart/form-data"> 

<input type="text" name="title" placeholder="Title" /><br /><br /> 
<textarea rows="15" cols="50" placeholder="Content" name="content"></textarea><br /><br /> 
<input name="imageupload" type="file" id="image" placeholder="Imageupload" /> 
<input type="text" name="image" placeholder="Image" /><br /><br /> 
<input type="link" name="link" placeholder="Link" /><br /><br /> 
<input type="category" name="category" placeholder="Category" /><br /><br /> 
<input type="category" name="brand" placeholder="Brand" /><br /><br /> 
<input type="submit" value="Add Article" /> 

</form> 
</div> 
</div> 
</body> 
</html> 


<?php 
}else{ 
     header('location: index.php'); 
} 

?> 

пожалуйста, может кто-то помочь? Спасибо.

ответ

0

Во время процесса загрузки вам необходимо изменить имя файла на новое имя файла, которым вы хотите.

{ 
    $errors = array(); 
    $allowed_ext = array('jpg', 'jpeg', 'png', 'gif'); 

    $file_name = $_FILES['imageupload'] ['name']; 
    $file_ext = strtolower (end (explode ('.', $file_name))); 
    $file_size = $_FILES['imageupload'] ['size']; 
    $file_tmp = $_FILES['imageupload'] ['tmp_name']; 

    $file_name = $_POST['brand'].'.'.$file_ext; 
+0

привет спасибо за это. мой ответ работает на меня. еще раз спасибо. – kevstarlive

0

Я использовал этот код, и он отлично работает для меня.

спасибо.

$brand = $_POST['brand']; // Put this up by where you define $title 


$up_file = $brand.'.'.$file_ext; 
if (move_uploaded_file($file_tmp, 'images/'.$up_file)) { 
echo 'File uploaded'; 
$image = 'www.mysite.com/images/'.$up_file; 
} 

Пожалуйста 1UP ...

0

1) Получить расширение изображения

$ внутр = Pathinfo ($ имя файла, PATHINFO_EXTENSION);

2) загрузить файл по concatenatin ваше фирменное наименование & расширение

move_uploaded_file ($ _ FILES [ 'ImageUpload'] [ 'tmp_name'], $ _POST [ 'your_brand']. ''. $ Вн) ;

+0

Мой ответ ниже работает лучше, чем это предложение, но спасибо в любом случае. – kevstarlive

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