Jump to content
php.lv forumi

Recommended Posts

Posted (edited)

Sveiki, atradu šādu kodu, taču nezinu, ko darit gadijuma, kad notiek vairak apr vienu failu pievienošana...

 

Vai kāds varētu iedod nelielu piemēru, kā iesākt visu procesu?

 

 

šeit kods(nav parak garš, tapēc ieliku jau uzreiz)

<html>
<body>
<span id="sample"><input type="file" name="img[]" /></span><input id="plus" style="display:none" type="button" value="+ pievienot vel vienu bildi" onclick="plusone()">
<div id="added"></div>
<script type="text/javascript">
function byid(id)
{
if (document.getElementById)
 return (document.getElementById(id));
if (document.all)
 return document.all[id];
if (document.layers)
 return document.layers[id];
return false;
}
function remove(elt)
{
elt.parentNode.parentNode.removeChild(elt.parentNode);
}
function plusone()
{
div=document.createElement('div');
div.innerHTML='<div>'+byid('sample').innerHTML+'<input type="button" onclick="remove(this)" value="- nonemt" /></div>';
byid('added').appendChild(div);
}
if (document.body.innerHTML)
byid('plus').style['display']='inline';
</script>
</body>
</html>

Edited by Devils666
  • Replies 31
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted (edited)

1. kart NEKLIEDZ !!!!

2. sac ar to HTML formam kaa taadam

3. Sac apgut PHP pamatus

4. Pec tam pamacies par DB

5. vari megjinat velreiz pajautat

 

blin, es nekliedzu - tu kliedz :D, jau biju uztaisijis vairakas formas,

kuras pievienoju vienu bildi datubāze + reseizoaja, bet tas šoreiz man neder, vaig lai varētu pievienot vairakas bildes

ari uztaisiju jau nelielu sistemu, bet par vairaku bilzu pievienosanu - man nesanak, lai viss ietu un bez sis funkcijas sistemai nav jegas...

 

precizāk, man vaig ideju, ka to visu iesakt, vislabak kadu paraugu...

Edited by Devils666
Posted

kur problēma formā sabāzt vairākus input file

un vēlāk, ja uztiasa pārbaudi, ja tajā ir kkas, kad aplodo. (varētu pat mēģināt ar to pašu foreach)

Posted (edited)

Nu jā, idevās uztaisīt ejošu, taču

tam javascriptam limitu kaut kāda veida nevar uztaisīt, lai piemēram vairak par 20 nevaretu pievienot?

Edited by Devils666
Posted

Ieliec kaut kādu kaunterīti. Pie katra jaunpievienotā inputa palielini to pa 1. Un pirms katra inputa izveidošanas skaties vai kaunterītis nav pārsniedzis 20.

 

Tik arī php pusē tev vajadzēs veikt salīdzināšanu, jo viss, kas ir klienta pusē, ir nedrošs...

 

php pusē, skatīties, vai nav vairāk pa 20 arī nav grūti. Pieņemu, ka tev ir failu masīvs, ja tā, tad reku analoģija ar POST:

 


<form action="" method="post" accept-charset="utf-8">
 <p>
   <input type="text" name="test[]" value="test1" />
 </p>
 <p>
   <input type="text" name="test[]" value="test2" />
 </p>
 <p>
   <input type="text" name="test[]" value="test3" />
 </p>
 <p><input type="submit" value="Continue →"></p>
</form>

<?php
echo "Text fields: " . count($_POST['test']) . "<br />";
print_r($_POST["test"]);
?>

Posted (edited)

Nu es bija domajis, mazliet savādak

 

tam skriptam, ko ieliku sakumā, vaig uzlitk tā, lai javscripts nevaretu pievienot, piemēram vairāk par 20 reizēm...

precizāk, lai nebutu tā ka varētu kaut 1000 reizes, to pogo nospiest - "+ pievienot vel vienu bildi"

Edited by Devils666
Posted (edited)

Nu jā, es mēgināju, bet javascripta nesanāca,

ikta jau uztaisiju, pec pievienošanas parbaudi, vai nav vairāk par 20 failiem, bet nu butu smuki ja javscripta ar nevaru 1000 ierakstus pievenot...

Edited by Devils666
Posted

Nu es tak rakstīju - džavaskriptā ieliec kaunterīti. Vai tad tas ir tik grūti?

 


function plusone() {
 if(plusone.counter == undefined) {
   plusone.counter = 0;
 }

 if(plusone.counter <= 20) {
   div=document.createElement('div');
   div.innerHTML='<div>'+byid('sample').innerHTML+'<input type="button" onclick="remove(this)" value="- nonemt" /></div>';
   byid('added').appendChild(div);
   plusone.counter++;
 }
 else {
   alert('Tu pa daudz gribi!!!');
 }
}

Posted (edited)

Īstenībā jā, jo ar Javascript ļoti reti akut ko daru, pārsvarā CSS/html un protams php/mysql

un LIELS palides, tas bija tas, kas vajadzīgs, nu jau skrpts būs gandrīz gatavs, vēl tikai reseizošana un viss...

Edited by Devils666
Posted

Vēl viens variants varētu būt:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Multiple upload</title>

<style type="text/css">
	div#upload input.field {
		margin-top: 5px;
		display: block;
	}
</style>

<script type="text/javascript">
	var counter=1;

	function cancelEvents(e) {
		if (!e)
			e = window.event;

		e.cancelBubble = true;
		if (e.stopPropagation)
			e.stopPropagation();
	}

	function clone(element, e) {
		var dub = element.cloneNode(true);
		if (!e)
			var e = window.event;
		element['on'+e.type]=null;
		if (typeof(dub.value)!='undefined')
			dub.value='';
		element.parentNode.appendChild(dub);
		cancelEvents(e);
		return dub;
	}
</script>
</head>

<body>
<form name="upload_form" action="" method="post" enctype="multipart/form-data">
<div id="upload">
	<input type="hidden" name="MAX_FILE_SIZE" value="5242880">
	<input type="file" name="image[]" class="field" onchange="if (counter<5) {clone(this, event); counter++}">
</div>
<div style="margin-top: 5px">
	<input type="submit" name="submit_upload" value="Upload">
</div>
</form>
</body>
</html>

 

Php pusē augšupielādēšanai pamācību var apskatīties šeit: http://lv.php.net/manual/en/features.file-upload.php

Posted (edited)

bļin, kur tu biji ātrāk? :D

jā, tas vel daudz labāks varinats, lietotāju pusei vienkāršāks, vienīgais, tad ir jauztaisa noņemšanas poga

 

Jau kādu stundu čakarejos ar resaizera meklēšanu un atradu arī:

http://www.white-hat-web-design.co.uk/articles/php-image-resizing.php

 

liekas, diezgan labs(bildes pārtaisa ļoti kvalitatīvi), tikai vai viņu varētu apvienot vairāku bilžu pievienošanai?

<?php
  if( isset($_POST['submit']) ) {
     include('SimpleImage.php');
     $image = new SimpleImage();
     $image->load($_FILES['uploaded_image']['tmp_name']);
     $image->resizeToWidth(150);
     $image->output();
  } else {
?>

  <form action="upload.php" method="post" enctype="multipart/form-data">
     <input type="file" name="uploaded_image" />
     <input type="submit" name="submit" value="Upload" />
  </form>

<?php

mēģināju apvienot ar savu pievienošana kodu, bet neveiksmīgi

 

mans kods (nav vel pabeigts):

http://paste.php.lv/d3c4d573a9415e07ead00ed2a5e47b5b/nonum

 

 

+ domāju ka šis topiks vēlāk varētu noderēt citiem, kas ko līdzīgu gribēs taisīt

Edited by Devils666
Posted

Nu un kas, tajā iedotajā piemērā, kas tev derēja, tika pielikts tik mega sarežģīts, lai tu pats nebūtu pamēģinājis ko tādu izveidot? if tāds pats kā php, countera palielināšana tāda pat, kā php.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...