ugrás a tartalomhoz

$_ GET move uploaded file ????

Pisti20 · 2010. Ápr. 29. (Cs), 17.11
Üdv mindenkinek!

van egy formom, amiben van egy file feltöltés, de nem az a dokumentum dolgozza fel az adatokat hanem egy másik php file, és nem include-al, mivel a formom javascript ellenőrzésen keresztül megy el, és így az action tulajdonságán keresztül ugrik egy másik oldalra. tehát így:

<form name="adv" id="adv" method="get" enctype="multipart/form-data" action="nadv.php">
Kép:<input type="file" name="tkep" id="tkep" onBlur="tkeph(getElementById('tkep'),getElementById('tkepspan'))" /><span id="tkepspan"></span>
<input name="subadv" id="subadv" type="button" onClick="advSubmit()" value="Feltöltés"/>
</form>
A lényeg, hogy azt szeretném ha megmutatnátok hogy a "tkep" nevű mezőben kiválasztott képet, hogyan töltsem fel, mert a $_GET el minden mezőt át sikerült adni URL-en keresztül eddig, de a kép feltöltést nem tudom hogy kellene. Variáltam de nem jó.
 
1

Szerintem GET-tel nem fogod

Ifju · 2010. Ápr. 29. (Cs), 17.15
Szerintem GET-tel nem fogod tudni feltölteni a képet, lásd file feltöltésről a manualban.
2

muszáj :D

Pisti20 · 2010. Ápr. 29. (Cs), 17.26
Vhogy meg kell csinálni :S az urlben már átadja hogy :
"&tkep=Naplemente.jpg" csak vhogy fel kellene dobnom :S
3

get helyett post

janoszen · 2010. Ápr. 29. (Cs), 23.24
Get helyett kuldd post metodussal. A getnek nincs torzse amiben el lehetne kuldeni a filet.
4

Szia! a html fájlod: <form

Tanul0 · 2010. Ápr. 30. (P), 06.14
Szia!

a html fájlod:

<form name="adv" id="adv" method="post" enctype="multipart/form-data" action="nadv.php">
Kép:<input type="file" name="tkep" id="tkep" onBlur="tkeph(getElementById('tkep'),getElementById('tkepspan'))" /><span id="tkepspan"></span>
<input name="subadv" id="subadv" type="button" onClick="advSubmit()" value="Feltöltés"/>
</form>
Mint ahogy proclub említette, a form post típusú.

Ebben az esetben a php fájlod:

$dir = './uploads/';
$picture = $_FILES['tkep'];
$typ = getimagesize($picture['tmp_name']);
	switch ($typ[2]) {
	       case 1: $typ = '.gif'; break;
	       case 2: $typ = '.jpg'; break;
	       case 3: $typ = '.png'; break;
	}
        if($typ==('.gif' || '.jpg' || '.png')){
          $imghash=md5(rand(10, 9999999));
          if(move_uploaded_file($picture['tmp_name'],$dir.$imghash.$typ)){
              $upload_error="Sikeres feltöltés, a kép url-je http://domain.com/uploads".$imghash.$typ;
         }else $upload_error="Sikertelen feltöltés!";
        }else $upload_error="Csak gif, jpg vagy png kiterjesztésű képet lehet feltölteni!";

echo $upload_error;
Ami fontos, ahova szeretnél feltölteni, annak az attribútúma mindenképpen 777 legyen.

Üdv!
5

Utolso mondat

janoszen · 2010. Ápr. 30. (P), 08.49
Az utolso mondattal csak ovatosan. FastCGI szerveren ebbol meg security hole is lehet.
6

Ezt kifejtenéd bővebben? mert

Tanul0 · 2010. Ápr. 30. (P), 09.19
Ezt kifejtenéd bővebben? Érdekelne mivel FastCGI-ként fut a php nálam.
7

igen, lásd pl chmod

EL Tebe · 2010. Ápr. 30. (P), 16.11
0777 -> tulajdonos, csoport, mindenkimás -> futtatás, írás, olvasás jog
8

Userek

janoszen · 2010. Ápr. 30. (P), 18.13
A FastCGI eseten az ember nem feltetlenul szokott annyira odafigyelni az open_basedirre mert ugyis el vannak szeparalva a felhasznalok. Valszeg be van kapcsolva de akkor se osztogassunk felelotlenul ilyen tanacsokat, inkabb linkeljunk be egy leirast a POSIX jogkezelesrol. Nem pilotavizsgas a dolog.