Postita vastus 
 
Teema reiting:
  • 0Hääli - 0 keskmine
  • 1
  • 2
  • 3
  • 4
  • 5
faili laadimine serverisse
02-25-2004, 02:14 PM
Postitus: #1
faili laadimine serverisse
leidsin php.ee -st sellise koodijupi:
<?php
$folder="failid/";//siia pange folder kuhu tahate failid laadida
if($HTTP_POST_VARS['up']){
if(!copy($fail,"$folder$faili_nimi")) {echo"Faili uploadimine ebaõnnestus!";exit;}
else {echo"Fail on serverisse laetud.";exit;}
}
?>
<form method="post" enctype="multipart/form-data" action="<?php echo $PHP_SELF;?>">
<input type="file" name="fail" size="30">
<input type="submit" value="UPLOAD" name="up">

see kood ei hakanud PHP-editoris tööle
siis muutsin seda selliseks:
<?php
$folder="./pildid/";
if ($_POST)
{
$fail = $_POST['fail'];
$faili_nimi = basename ($fail);
if(!copy($fail,"$folder$faili_nimi")) {echo"Faili uploadimine ebaõnnestus!";exit;}
else {echo"Fail on serverisse laetud.";exit;}
}
?>
<form method="post" action="<?php echo $PHP_SELF;?>">
<input type="file" name="fail" size="30">
<input type="submit" value="UPLOAD" name="up">

Nüüd kood töötab PHP-editoriga proovides, aga kui weebiserveri kaudu proovida, siis ei tööta !
Kes aitaks ?
Leia selle kasutaja kõik postitused
Tsiteeri seda postitust oma vastuses
02-25-2004, 02:39 PM
Postitus: #2
Re: faili laadimine serverisse
Tegelt eks ta õige ole kohe testida veebiserveris aga üks viga mis hakkas kohe silma on koodis $fail,"$folder$faili_nimi" nimelt ei suuda see koodi jup failile nime kirjutada. Näiteks, kui kriblada 99 kahe muutja vahele $folder 99 $faili_nimi siis peale uplodimist on kataloogis uus fail nimega 99. Probleem on siis selles, et see sinu kood ehk muutuja $faili_nimi ei suuda faili nime võta originaal faililt ja ei suuda ka ise uut faili nime kirjutada igal korral erinevalt.

$faili_nimi peaks olema see faili nimi mida üleslaetakse...tundub, et sul on mingi osa koodist puudu.

[Pilt: nuke.gif] [Pilt: 15x94.gif]
Külasta selle kasutaja veebisaiti Leia selle kasutaja kõik postitused
Tsiteeri seda postitust oma vastuses
02-25-2004, 02:49 PM
Postitus: #3
Re: faili laadimine serverisse
Alumises koodijupis on faili nimi juba olemas, aga sellegi poolest asi ei tööta. Tundub nagu oleks üleslaadimise rada vale, aga kuidas õige oleks, ei suuda arvata.
Leia selle kasutaja kõik postitused
Tsiteeri seda postitust oma vastuses
02-25-2004, 07:41 PM
Postitus: #4
Re: faili laadimine serverisse
Kusjuures minul töötas sinu script küll aga failid, mis ta serverisse uplodis olid selliste nimedega phpf9hERo

[Pilt: nuke.gif] [Pilt: 15x94.gif]
Külasta selle kasutaja veebisaiti Leia selle kasutaja kõik postitused
Tsiteeri seda postitust oma vastuses
03-09-2004, 03:03 PM
Postitus: #5
Re: faili laadimine serverisse
kasutasin nüüd järgnevat koodijuppi, mille lõpuks sain tööle
<?php
$folder="./pildid/";
if ($fail)
{
if(!copy($fail,"$folder$fail_name")) {
echo"Faili uploadimine ebaõnnestus!";
exit;}
else {
echo"Fail on serverisse laetud.";
unlink($fail);
exit;
}
}
?>
<form method="post" enctype="multipart/form-data" action="<?php echo $PHP_SELF;?>">
<input type="file" name="fail" >
<input type="submit" value="UPLOAD" name="up">

Probleem lahenes, kui oma serveri php.ini failis muutsin register-globals=On (vaikimisi oli mul väärtuseks "Off")
Ka zone serveris asi töötab, ja ka seal on vaikimisi register-globals=On
Küll aga võib lugeda, et "register-globals=On" väärtus suurendab turvariske, mis pole just eriti meeldiv, kuid kas keegi oskaks ehk lähemalt kommenteerida?
Kuidas aga saaks, et see kood töötaks ka "register-globals=Off" korral ?
Leia selle kasutaja kõik postitused
Tsiteeri seda postitust oma vastuses
Postita vastus 


Vali alamfoorum:



Võta ühendustSinu VeebiabiTagasi ülesTagasi sisu juurdeLihtsustatud versioonRSS voog