Преименуване на снимка с датата в края след ъплууд ? (New)

jacob

Registered
Тъй-като незнах, че след даване на точка в темата неможе да се пише, а все още имам въпрос свързан с нея моля модераторорите да ме извинят. Тук поставям copy-paste oт постовете в предишната тема.

Има ли възможност снимките да се преименуават след ъплууд във формат:

picture-date.jpg ?

Replace каза:
$ext = pathinfo($_FILES['myfile']['name']);
$newname = $ext['filename']."-".date("d-m-y").".".$ext['extension'];
# и на следващия ред , вече качваш картинката move_uploaded_file($_FILES['myfile']['tmp_name'],$newname);

madmax3 каза:
$PicName=time().".".end(explode(".",$_FILES['QPicFile']['name']));

move_uploaded_file($_FILES['QPicFile']['tmp_name'],$PicName);

където QPicFile е:

<input type='file' name='QPicFile'>

във формата за качване

Това е кодът ми:

Код:
<?php @include("../config.php"); ?> 
<html>
<head>
<title>Добавяне</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
@mysql_connect($host,$user,$password);
@mysql_select_db($db);
@mysql_query("SET CHARACTER SET utf8")  or die( "Не мога да избера БД");
if(isset($_POST['submit'])){
$file = $_FILES['file']['name'];
$tmp_file = $_FILES['file']['tmp_name'];
$size = $_FILES['file']['size'];

$poster="../images/".basename($file);

if(file_exists($poster)) {echo "
Съществува файл с това име!</body></html>";exit;}

if($size==0) {echo "
Файлът е празен!</body></html>";exit;}
if($size>999999) {echo "
Файлът е прекалено голям!</body></html>";exit;}
$extensions = array("gif","jpg","jpeg","png");
$extension_file = end(explode(".",$file));
$extension_file = strtolower($extension_file);

if(!in_array($extension_file,$extensions)) {echo "
Невалидно разширение, може да качите - gif, jpg, jpeg, png !</body></html>";exit;}
$upload = move_uploaded_file ($tmp_file,$poster);

if($upload){$q = mysql_query("INSERT INTO `file_database` (
`poster`) VALUES (
'$file')");

if($q) {echo "Добавено!";} else{echo ">Грешка</body></html>";exit;}}}else{?>

<table class="table1" align="center"  border="0" cellpadding="8" cellspacing="0" width="610">
  <tr>
    <td colspan="2"><form action="" method="post" enctype ="multipart/form-data" name="form">
        <table border="1"  class="table" align="center">
          <tr>
            <td>Снимка</td>
            <td><input name="file" type="file" size="23" /></td>
          </tr>
            <td colspan="4" align="center" class="httext">
             <input style="font-weight: bold; border: solid #d7e4f2 1px;" name="submit" type="submit" value="OK" />
            </td>
          </tr>
        </table>
    </form>
    </td>
  </tr>
</table>
<?php } ?>
</body>
</html>

На кой ред да поставя кода, направих няколко опита но не се получава.
 
<?php @include("../config.php"); ?>
<html>
<head>
<title>Добавяне</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
@mysql_connect($host,$user,$password);
@mysql_select_db($db);
@mysql_query("SET CHARACTER SET utf8") or die( "Не мога да избера БД");
if(isset($_POST['submit'])){
$file = $_FILES['file']['name'];
$tmp_file = $_FILES['file']['tmp_name'];
$size = $_FILES['file']['size'];

$ext = pathinfo($_FILES['file']['name']);
$poster = $ext['filename']."-".date("d-m-y").".".$ext['extension'];


if(file_exists($poster)) {echo "
Съществува файл с това име!</body></html>";exit;}

if($size==0) {echo "
Файлът е празен!</body></html>";exit;}
if($size>999999) {echo "
Файлът е прекалено голям!</body></html>";exit;}
$extensions = array("gif","jpg","jpeg","png");
$extension_file = end(explode(".",$file));
$extension_file = strtolower($extension_file);

if(!in_array($extension_file,$extensions)) {echo "
Невалидно разширение, може да качите - gif, jpg, jpeg, png !</body></html>";exit;}
$upload = move_uploaded_file ($tmp_file,"../images/".$poster);

if($upload){$q = mysql_query("INSERT INTO `file_database` (
`poster`) VALUES (
'$file')");

if($q) {echo "Добавено!";} else{echo ">Грешка</body></html>";exit;}}}else{?>

<table class="table1" align="center" border="0" cellpadding="8" cellspacing="0" width="610">
<tr>
<td colspan="2"><form action="" method="post" enctype ="multipart/form-data" name="form">
<table border="1" class="table" align="center">
<tr>
<td>Снимка</td>
<td><input name="file" type="file" size="23" /></td>
</tr>
<td colspan="4" align="center" class="httext">
<input style="font-weight: bold; border: solid #d7e4f2 1px;" name="submit" type="submit" value="OK" />
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<?php } ?>
</body>
</html>
 
Качи файла във формат picture-data.jpg, но в базата като име е записало само picture.jpg
 
Мерси, много! Добавих още няколко полета, какъв е начинът да направя, така, че да не са задължителни и 5те (например да може да се добавят 2 или 3 снимки) ?
 
Ако съм разбрал правилно: Имаш 5 полета за качване на снимки, но да можеш да качиш само 1 (или 2,3,4,5) снимки ?

if (!empty(... Field_X)) { ... upload file ... }
 
if(isset($_POST['submit'])){

foreach (array('Pic1','Pic2', ... 'PicN') as $PicUpload) {

$size = $_FILES[$PicUpload]['size'];


if ($size>0 && $size<$MaxFileSize) { ... UPLOAD ...}


}


Pic1 - PicN - имената на полето file


<input name="Pic1" type="file" size="23" />
<input name="Pic2" type="file" size="23" />


<input name="PicN" type="file" size="23" />
 

Back
Горе