Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Schimbare adresa DNS IPv4 pe rout...

Recomandare Barebone

Monede JO 2024

Suprasolicitare sistem electric
 CIV auto import

Mutare in MOZAMBIC - pareri, expe...

Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...
 Cumparat/Locuit in apartament si ...

Pot folosi sistemul PC pe post de...

Sokol cu distorsiuni de cross-over

Filtru apa potabila cu osmoza inv...
 Kanal D va difuza serialul “...

Upgrade xiaomi mi11

securitate - acum se dau drept - ...

Farmacia Dr Max - Pareri / Sugest...
 

Script pentru upload-ul de fisiere (PHP)

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

#19
DarkAngelBv

DarkAngelBv

    === Proud owner of === ++++ Audi & Opel ++++

  • Grup: Senior Members
  • Posts: 12,747
  • Înscris: 24.03.2006
Pentru cei care folosesc scriptul, ma bucur ca va place, dar NU MAI STERGETI nota de copyright.
Macar bun simt aveti si voi  :scratchchin:

#20
xnoise

xnoise

    Active Member

  • Grup: Members
  • Posts: 1,310
  • Înscris: 08.02.2007
o alta alternativa, mult mai complexa si mai completa o gasiti pe link. Ceea ce e acolo este o clasa foarte usor de folosit, ce permite uploadarea si filtrarea fisierelor uploadata in functie de multi parametri.

Pentru imagini sunt cateva extra-uri care folosesc libraria GD din php pentru modificarea imaginilor (resize, watermark, background, etc). este de asemenea foarte bine documentata, gasiti acolo toate metodele si variabilele necesare utilizarii clasei. De asemenea gasiti si exemple, care sunt destul de simple.

ATENTIE!!! image_resize nu functioneaza cu GD 2.19 (se va repara in curand, cel putin asa promite autorul clasei).
Clasa de mai sus este folositoare atat incepatorilor in PHP cat si avansatilor, scapandu-va de multe probleme. Eu o folosesc de vreo 3 luni si nu am avut probleme cu ea pana acum.

pentru evitarea problemelor cu versiuni mai noi ale GD-ului, poate ar fi bine sa folositi informatia din phpinfo si daca versiunea de GD este mai mare de 2, sa nu aplicati resize. Restul functiilor (cel putin cele testate de mine par a functiona). Din timp in timp verificati changelogul. Ultimul update al clasei a fost facut pe 25 mai 2007, deci este up-to-date (cel putin aproape up-to-date).

Imi cer scuze pt linkul de mai sus, dar cred ca este util pt toti. Mentionez faptul ca respectiva clasa am gasit-o pe phpclasses. Pentru orice altceva aveti nevoie, un search va poate rezolva rapid problema. Daca mai sunteti si avansati, puteti customiza clasele pentru a le folosi cum doriti.

Later edit: nu e nevoie sa chmodati directorul in care copiati imaginea sau sa creati directorul.Clasa va incerca automat sa chmodeze respectivul director sau sa il creeze. Daca nu are drepturi, atunci va trebui sa chmodati manual respectivul director. Dar in general nu e cazul pt asa ceva.

Edited by xnoise, 04 July 2007 - 11:56.


#21
tommygirl

tommygirl

    Junior Member

  • Grup: Members
  • Posts: 24
  • Înscris: 21.07.2006
cum pot sa combin, in flash, functia de upload cu un contact form? astfel incat cand apas pe buton sa se urce si file-ul si continutul formularului?

#22
wyrws

wyrws

    New Member

  • Grup: Members
  • Posts: 10
  • Înscris: 25.03.2007
cum chmodez un folder.... sunt incepator si vreau sa fac o pagina de upload pe xhost.ro... se poate macar?

#23
tommygirl

tommygirl

    Junior Member

  • Grup: Members
  • Posts: 24
  • Înscris: 21.07.2006

View Posttommygirl, on Jul 9 2007, 12:29, said:

cum pot sa combin, in flash, functia de upload cu un contact form? astfel incat cand apas pe buton sa se urce si file-ul si continutul formularului?

in ftp.

#24
xnoise

xnoise

    Active Member

  • Grup: Members
  • Posts: 1,310
  • Înscris: 08.02.2007
@wyrws: te duci in ftp, click dreapta pe director, si da-i 755 (in cazuri rare ai nevoie de 777). In Total Commander (daca il folosesti ca client de ftp) selectezi directorul si te duci in file->properties si faci acelasi lucru. Trebuie avut in vedere ce anume ai voie sa urci pe server si daca e server gratuit, daca iti este permis uploadul.

@tommy: probabil e o tehnologie bazata pe actionscript, xml si php. Ceva similar cu ajax. Mai multe detalii nu stiu sa iti dau.

Edited by xnoise, 12 July 2007 - 14:33.


#25
aj-stiles

aj-stiles

    Junior Member

  • Grup: Members
  • Posts: 132
  • Înscris: 25.03.2007
darck am instalat si eu scriptul tau... totul bine si frumos dar cand vreau sa vizoalizez o poza care am uploadato imi apare eroare de la lx.ro ca nu exista fisierul :| www.paint.haos.ro/index.php/upload/alex.jpg

Edited by darkangelbv, 15 July 2007 - 13:06.


#26
SoR!n

SoR!n

    Active Member

  • Grup: Members
  • Posts: 1,772
  • Înscris: 29.12.2006
Cu lx nu rezolvi nimic.

#27
the_p1tbull

the_p1tbull

    Junior Member

  • Grup: Members
  • Posts: 185
  • Înscris: 28.12.2006
Nu mai folositi LX ca la php este cam varza.Lx este pentru siteuri personale simple, cu HTML ...nu cu php, java si restu..

#28
DarkAngelBv

DarkAngelBv

    === Proud owner of === ++++ Audi & Opel ++++

  • Grup: Senior Members
  • Posts: 12,747
  • Înscris: 24.03.2006
Lx nu permite hotlink-ing (adica accesarea imaginilor din exterior... singura posibilitate este sa intri la /upload/ si de acolo sa dai click pe poza care o vrei, dar asta nu inainte sa bifezi optiunea de a vizualiza toate fisierele uploadate din admin-pannel)

#29
aj-stiles

aj-stiles

    Junior Member

  • Grup: Members
  • Posts: 132
  • Înscris: 25.03.2007
aham okei...am inteles ca pe lx.ro nu merge dar pe evonet ??sau zicetimi mie nijte hosturi gratis :D

#30
vp-emanuel

vp-emanuel

    Senior Member

  • Grup: Senior Members
  • Posts: 2,000
  • Înscris: 09.10.2006
Cu toate ca ar trebui sa primesc doar jpg, png si gif am primit si 2 fisiere html prin formularul de upload :confused:

Cica m-au hackuit (atasament)

Ce as putea face sa nu mai primesc balarii ?



<?php
session_start();
ob_start();
$_SESSION['error'] = "";
$_SESSION['done'] = "";
//Directorul pt upload.

	  $upload_dir = "upload/";

	  //numarul de fisiere pt upload

	  $num_files = 5;

	  //limita fisierului in byti

	  $size_bytes =51200; //51200 byti = 50KB.

	  //Extensiile permise

	  $limitedext = array(".gif",".jpg",".jpeg",".png",".bmp");


		 //verifica daca exista directorul


		 if (!is_dir("$upload_dir")) {


			$_SESSION['error'].="<b>(".$upload_dir.")</b> directory doesn't exist";
			header("location:upload.html");

		 }

		 //verifica permisiunile directorului.

		 if (!is_writeable("$upload_dir")){


			$_SESSION['error'].="<b>(".$upload_dir.")</b> directory's writing permissions are not stted. Please set CHMOD (777)";
			header("location:upload.html");

		 }

			 //creeaza un loop pentru a uploada toate fisierele

			 for ($i = 1; $i <= $num_files; $i++) {


				 //defineste variabilele pentru a tine fisierele

				 $new_file = $_FILES['file'.$i];

				 $file_name = $new_file['name'];

				 //pentru a nu avea spatii in nume, le vom inlocui cu "_".

				 $file_name = str_replace(' ', '_', $file_name);

				 $file_tmp = $new_file['tmp_name'];

				 $file_size = $new_file['size'];

				 #-----------------------------------------------------------#

				 #	 verificam daca fisierele sunt selectate sau nu.	   #

				 #-----------------------------------------------------------#

				 if (!is_uploaded_file($file_tmp)) {

					//afiseaza mesajul de eroare


					$_SESSION['error'].="File ".$i." : has not been selected.<br>";
					header("location:upload.html");

				 }else{


					   #-----------------------------------------------------------#



					   #		 verificam extensia								#



					   #-----------------------------------------------------------#



	  
					   $ext = strrchr($file_name,'.');



					   if (!in_array(strtolower($ext),$limitedext)) {


						$_SESSION['error'].="File ".$i." : (".$file_name.") has unallowed extension<br>";
						header("location:upload.html");


					   }else{



							 #-----------------------------------------------------------#



							 # Verificam dimensiunea fisierului						  #



							 #-----------------------------------------------------------#


							 if ($file_size > $size_bytes){


								$_SESSION['error'].="File ".$i." : (".$file_name.") has not been uploaded. It MUST have maxim <b>". $size_bytes / 1024 ."</b> KB. <br>";
								header("location:upload.html");
								



							 }else{



								   #-----------------------------------------------------------#



								   # Verificam daca fisierul nu exista deja.				   #



								   #-----------------------------------------------------------#



	   



								   if(file_exists($upload_dir.$file_name)){


									$_SESSION['error'].="File ".$i." : (".$file_name.") already exist.<br>";
									header("location:upload.html");

								   }else{



										 #-----------------------------------------------------------#



										 # uploadam fisierele										#



										 #-----------------------------------------------------------#



										 if (move_uploaded_file($file_tmp,$upload_dir.$file_name)) {



										   $_SESSION['done'].="File ".$i." : uploaded.<br>";
											header("location:upload.html");



										 }else{


											$_SESSION['error'].="File ".$i." : has not been uploaded.<br>";
											header("location:upload.html");



										 }#sfarsitul functiei de uploadare.



	   



								   }#sfarsitul (fisierul exista).



	   



							 }#sfarsitul (dimensiune fisier).



	   



					   }#sfarsitul (limita text).



				 }



	   



			 }#sfarsitul (pentru loop).
?>
<?php ob_end_flush(); ?>


#31
TheBes7

TheBes7

    New Member

  • Grup: Members
  • Posts: 6
  • Înscris: 05.08.2007
De mult timp cautam un asemenea topic !
Deci DarkAngelBV ! Spune-ne si nou niste Hosturi free unde chiar merge calumea scriptul eu am icnercat pe 110mb.com ( dar nush care sunt ala de la database ) acuma incerk pe home.ro dar cred ca nici aici nu arata alea de la databse
Te rog
Mersi

#32
DarkAngelBv

DarkAngelBv

    === Proud owner of === ++++ Audi & Opel ++++

  • Grup: Senior Members
  • Posts: 12,747
  • Înscris: 24.03.2006
Scriptul merge perfect pe orice host care permite functiile de upload insa ai limite la spatiul de pe disc + unele extensii care nu sunt permise pe hosturile respective.

#33
again

again

    WEB DUDE

  • Grup: Senior Members
  • Posts: 7,068
  • Înscris: 21.10.2005
pe home nici sa nu te gandesti, nici n-are php

#34
stocarul

stocarul

    Member

  • Grup: Members
  • Posts: 497
  • Înscris: 06.05.2007
Sunt si eu un incepator, si am incercat scriptul tau de upload (ala de e pus primul).
Si imi da urmatoarea eroare

Warning: move_uploaded_file(director/amintiri.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/stocarul/public_html/xxx/upload.php on line 22

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/php9IJEaS' to 'director/amintiri.jpg' in /home/stocarul/public_html/xxx/upload.php on line 22

Din cate citi tot in acest topic trebuie modificat CHMOD la 777. Dar ce e asta chmod, si unde il modific???
Multumesc anticipat si scuze pentru aceasta intrebare de amator. :D

#35
DarkAngelBv

DarkAngelBv

    === Proud owner of === ++++ Audi & Opel ++++

  • Grup: Senior Members
  • Posts: 12,747
  • Înscris: 24.03.2006
intri cu un client ftp si dai click dreapta/properties (sau permisions, depinde de program) si setezi pe write toate 3 campurile (adica 0777).
Directorul "director" exista? ar fi bine sa pui link sau sa spui numarul postului de unde ai luat scriptul.

#36
stocarul

stocarul

    Member

  • Grup: Members
  • Posts: 497
  • Înscris: 06.05.2007

View Postdarkangelbv, on Aug 14 2007, 23:59, said:

intri cu un client ftp si dai click dreapta/properties (sau permisions, depinde de program) si setezi pe write toate 3 campurile (adica 0777).
Directorul "director" exista? ar fi bine sa pui link sau sa spui numarul postului de unde ai luat scriptul.
Pai este postul unu, cel pus de tine :)
Am reusit sa modific ala la 777 :D
Problema este k in folderul xxx (ala unde se afla scriptul), mi-a aparut un fisier "error_log" care contine:

[15-Aug-2007 00:03:08] PHP Warning:  move_uploaded_file(director/amintiri.jpg) [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: failed to open stream: No such file or directory in /home/stocarul/public_html/xxx/upload.php on line 22
[15-Aug-2007 00:03:08] PHP Warning:  move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Unable to move '/tmp/php3G7svf' to 'director/amintiri.jpg' in /home/stocarul/public_html/xxx/upload.php on line 22
[15-Aug-2007 00:03:15] PHP Warning:  move_uploaded_file(director/amintiri.jpg) [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: failed to open stream: No such file or directory in /home/stocarul/public_html/xxx/upload.php on line 22
[15-Aug-2007 00:03:15] PHP Warning:  move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Unable to move '/tmp/phppmQPIY' to 'director/amintiri.jpg' in /home/stocarul/public_html/xxx/upload.php on line 22

Sper sa ma ajuti in continuare. Multumesc :)

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