Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Bara Golf 7 Variant

Xiaomi 13 T Pro notificari

De ce a disparut acest produs din...

Orange anunța mariri de preț, iar...
 Recomandare casti audio over ear ...

La multi ani @Ann0nyym0us!

La multi ani @Andrei11161810!

Glume cu si despre Dacii
 Ati cumparat de pe acest site? Es...

Gand

Diametru si "model" teava...

Eroare L3 dezumidificator StarLight
 caut si nu gasesc Philips casetofon

Cum trec la noul Google Analytics?

problema logare pe iCloud si tele...

Ce sa aleg dintre urmatoarele mod...
 

Upload Img database error

- - - - -
  • Please log in to reply
6 replies to this topic

#1
d3v1l500

d3v1l500

    New Member

  • Grup: Junior Members
  • Posts: 23
  • Înscris: 26.04.2017
Salut, lume!
Ma puteti ajuta intr-o problema?
Am acest cod de upload imagini si documente... iar problema este ca atunci cand incarc 2 fisiere cu nume identic in fisierul de upload nu l baga pe al 2 lea il rescrie peste celalat, dar in baza de date il face identic cu celalat doar id ul care este unic se schimba...
Am nevoie ca atunci cand un document exista deja cu alesi nume sa-mi schimbe numele automat cu un increment sau cumva cu ceva.
Multumesc frumos de ajutor!


Orice sfat sau critica constructiva e bine venit/a



function upload_sildes()
{
global $con;
define ("MAX_SIZE","9000");
//set the image extentions
$valid_formats = array("jpg", "png", "gif", "bmp","jpeg","pdf");
$uploaddir = "images/slides/"; //image upload directory
foreach ($_FILES['imgs']['name'] as $name => $value)
{

	 $filename = stripslashes($_FILES['imgs']['name'][$name]);
	
	 $size=filesize($_FILES['imgs']['tmp_name'][$name]);
	 //get the extension of the file in a lower case format
		 $ext = getExtension($filename);
		 $ext = strtolower($ext);
	 $target = $uploaddir.$filename;
	
	 if(!file_exists($target))
	 {
		
	
		 if(in_array($ext,$valid_formats))
		 {
		 if ($size < (MAX_SIZE*10000))
		 {
		
		 $image_name= $filename;
		 $image_name = str_replace(" ","-",$image_name);
		 echo "<div class='col-md-4'>";
		 echo "<img src='$uploaddir"."$image_name' style='width: 300px;height;300px; object-fit:contain;' class='img-thumbnail'>";
		 $newname=$uploaddir.$image_name;
		 if (move_uploaded_file($_FILES['imgs']['tmp_name'][$name], $newname))
		 {
		 $date = date("Y-m-d h:i:s");
		
		 //ouput status and insert inside the database
		
		 $insert_to_db = mysqli_query($con, "INSERT into slider_imgs (file_name,date) VALUES ('".addslashes($image_name)."','$date')");
		 if($insert_to_db)
		 {
			 echo "<hr><div class='text-center'><span class='badge badge-success'>Success</span></div>";
		 }
		 else
		 {
			 echo mysqli_error($con);
		 }
		
		
		 }
		 else
		 {
		 echo '<hr><div class="text-center">Nu s-a incarcat, probabil din lipsa de permisiuni!</div>';
		 }
		 echo "</div>";
		 }
		 else
		 {
		 echo '<hr><div class="text-center">Nu s-a incarcat, ai depasit limita de spatiu!</div>';
		 }
		 }
		 else
		 {
			 echo '<hr><div class="text-center">Extensie necunoscuta!</div>';
		 }
		 }
		 else
		 {
			 $update = update($uploaddir.$filename);
		 if(!$update)
		 {
			 echo "<div class='text-center'>Nu s-a putut sterge vechea imagine! Problema de permisiuni cel mai probabil! <hr> <a href='index.php?sb=profile'></a></div>";
			
		 }
		 else
		 {
	 if(in_array($ext,$valid_formats))
		 {
		 if ($size < (MAX_SIZE*10000))
		 {
		
		 $image_name= $filename;
		 $image_name = str_replace(" ","-",$image_name);
		 echo "<div class='col-md-4'>";
		 echo "<img src='$uploaddir"."$image_name' style='width: 300px;height;300px; object-fit:contain;' class='img-thumbnail'>";
		 $newname=$uploaddir.$image_name;
		 if (move_uploaded_file($_FILES['imgs']['tmp_name'][$name], $newname))
		 {
		 $date = date("Y-m-d h:i:s");
		
		 //ouput status and insert inside the database
		 $remove_img_from_db = mysqli_query($con, "DELETE from slider_imgs WHERE file_name='".addslashes($image_name)."'");
		 if($remove_img_from_db)
		 {
		
		
		 $insert_to_db = mysqli_query($con, "INSERT into slider_imgs (file_name,date) VALUES ('".addslashes($image_name)."','$date')");
		 if($insert_to_db)
		 {
			 echo "<hr><div class='text-center'><span class='badge badge-success'>Success</span></div>";
		 }
		 else
		 {
			 echo mysqli_error($con);
		 }
		 }
		 else
		 {
		 echo mysqli_error($con);
		 }
		
		 }
		 else
		 {
		 echo '<hr><div class="text-center">Nu s-a incarcat, probabil din lipsa de permisiuni!</div>';
		 }
		 echo "</div>";
		 }
		 else
		 {
		 echo '<hr><div class="text-center">Nu s-a incarcat, ai depasit limita de spatiu!</div>';
		 }
		 }
		 else
		 {
			 echo '<hr><div class="text-center">Extensie necunoscuta!</div>';
		 }
		 }
		 }
		
}
}

```

#2
dexterash

dexterash

    --something---

  • Grup: Senior Members
  • Posts: 22,912
  • Înscris: 19.08.2004
Si unde te-ai impotmolit, mai exact, incercand sa adaugi aceasta functionalitate?

#3
d3v1l500

d3v1l500

    New Member

  • Grup: Junior Members
  • Posts: 23
  • Înscris: 26.04.2017

View Postdexterash, on 16 iulie 2021 - 16:45, said:

Si unde te-ai impotmolit, mai exact, incercand sa adaugi aceasta functionalitate?
Exact Posted Image tot ce am incercat eu sa fac in baza de date schimba numele dar in folder nu, am incercat sa-i pun si un increment si tot nu merge

#4
d3v1l500

d3v1l500

    New Member

  • Grup: Junior Members
  • Posts: 23
  • Înscris: 26.04.2017

View Postd3v1l500, on 16 iulie 2021 - 16:48, said:

Exact Posted Image tot ce am incercat eu sa fac in baza de date schimba numele dar in folder nu, am incercat sa-i pun si un increment si tot nu merge
Pana la urma am reusit cu un array, dar tot nu e ce mi-as dori
$numbers = array("copy1","copy2","copy3","copy4","copy5","copy6");
			  $number = $numbers[array_rand($numbers)];
  if (file_exists($target))
{
			
	 $image_name = $number.("-").$filename;
		   $image_name = str_replace(" ","-",$image_name);
		   echo "<div class='col-md-4'>";
		   echo "<img src='$uploaddir"."$image_name' style='width: 300px;height;300px; object-fit:contain;' class='img-thumbnail'>";
		   $newname=$uploaddir.$image_name;
		   if (move_uploaded_file($_FILES['imgs']['tmp_name'][$name], $newname))
		   {
			$date = date("Y-m-d h:i:s");
		   
		   //ouput status and insert inside the database
		 
		   $insert_to_db = mysqli_query($con, "INSERT into slider_imgs (file_name,date) VALUES ('".addslashes($image_name)."','$date')");
		   if($insert_to_db)
		   {
				echo "<hr><div class='text-center'><span class='badge badge-success'>Success</span></div>";
		   }
		   else
		   {
				echo mysqli_error($con);
		   }
}
}



#5
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,313
  • Înscris: 10.08.2005
$update = update($uploaddir.$filename);


#6
iulian_1976

iulian_1976

    Active Member

  • Grup: Members
  • Posts: 1,570
  • Înscris: 10.05.2008
Un pic de studiat aici:
-uniqid()   https://www.php.net/...tion.uniqid.php

si aici :

https://www.php.net/...on.pathinfo.php

ca idee: $originalFilename=pathinfo($uploadedFile->getClientOriginalName(),PATHINFO_FILENAME);

// php-ul nu o sa-ti livreze functiile acelea cu un pic de efort le creezi tu.

Tu ai nevoie de asta din ce descrii :

$newFilename=$originalFilename.'-'.uniqid().'.'.$uploadedFile->guessExtension();
   // numele fisierului+   un id unic   + extensia fisierului adevarata ptr ca  in prod poti sa ai o mare problema de securitate

Asta face un framework automat gen Symfony, Laravel, tinand cont de fiecare bucata in parte, oricum indiferent tot cam pe aici trebuie sa ajungi.

Succes.

Edited by iulian_1976, 16 July 2021 - 23:58.


#7
d3v1l500

d3v1l500

    New Member

  • Grup: Junior Members
  • Posts: 23
  • Înscris: 26.04.2017
Am reusit cu uniqid()..asa simplu era.. Va multumesc frumos!
Topicul poate fi inchis

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate