UPLOAD suborov

Programovacie jazyky, rady, poradňa...
k-u-l-i
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 742
Registrovaný: 25 aug 2006, 18:12

UPLOAD suborov

Príspevok od používateľa k-u-l-i »

mohol by mi niekto s tym poradit ako to spojazdnit... som v tom zaciatocnik... kde by som mal napisat ftp servera a dalsie potrebne veci ? dakujem...

Kód: Vybrať všetko

<?
if ($_REQUEST["odeslano"]==1):
  unlink ("./31/hloupost.txt");
  // kontroly...
  if (move_uploaded_file($_FILES['hloupost']['tmp_name'], "./31/hloupost.txt"))
  {
    //zpracování
  };
else:
?>
    Nahrání souboru na server
    <form method="POST" ENCTYPE="multipart/form-data" action="<?echo $_SERVER["PHP_SELF"]?>">
    <table border="1" >
      <tr>
        <td>Textový soubor</td>
        <td>
        <input type="HIDDEN" name="MAX_FILE_SIZE" VALUE=300>
        <input type="file" name="hloupost" ACCEPT="text/*">
        </td>
        <td>(max. 300 bajtů)</td>
      </tr>
      <tr>
        <td colspan="3">
              <input type="hidden" name="odeslano" value="1">
          <p align="center"><input type="submit" value="Odeslat"></td>
      </tr>
    </table>
    </form>
<?
endif;
?> 
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

Príspevok od používateľa jorg22 »

Keby si chcel tak tu je moj script co som si nasiel na hojku a prerobil trosku:

Kód: Vybrať všetko

<center>
<font size="2"><strong>Upload</strong></font></td></TR>
<?php
$handle=opendir('upload');
while (false!==($file = readdir($handle))) 
{
if (($file != ".") && ($file != "..") && ($file != "/"))
{
$volne += filesize("upload/$file");
}
}
closedir($handle);
?>
Tu si môžete uploadnuť súbor do 1MB iba vo formáte RAR.
<BR>
Spolu tu môže byť najviac 500MB uploadnutých súborou.
<BR>
Súbor bude do 7 dní vymazaný.K súborom, ktoré sú tu uploadnuté majú všetci prístup,
<BR>
Nedávajte si sem preto osobné dokumenty a iný materiál.
<BR>
Z jednej IP adresy môžete uploadnúť najviac 5 súborov za týždeň.
<BR>
Uploadovanie môže chvýľu trvať tak prosím majte strpenie.
<BR>
Zatiaľ je ešte <?php echo 500-$volne/1024/1024; ?> MB voľného miesta.
<div style="background-color:#ff7800;line-height:30px; text-align:left; Vertical-align:top;">
<font color="white">
<form action="upload.php" method="post" enctype="multipart/form-data">
<b><font size="2">Cesta k súboru:</font> </b>
<input type="file" name="subor" style="border:1px solid black;">
<input type="submit" value="Upload" style="border:1px solid black;">
</font>
</form>
</div>
<br>
<br>
<br>
<table align="left" rules='groups' style="background-color:#ff7800;">
<tr>
<th><font color='white'>Názov súboru</font></th>
<th><font color='white'>Veľkosť súboru</font></th>
<th><font color='white'>Dátum uploadnutia</font></th>
</tr>
<?php
$fi = fopen ("upl/date.php", "r");
if (!$fi)
{
   echo "<p><blink><font color='red'>Chyba!!!</font><blink>\n";
   exit;
}
$sub = fgets($fi, 4096)+604800;
fclose ($fi);
if($sub<time())
{
$file = fopen ("upl/date.php", "w+");
if (!$file)
{
   echo "<p><blink><font color='red'>Chyba!!!</font><blink>\n";
   exit;
}
/* Zapíšeme data. */
$time = time();
fputs ($file,"$time\n");
fclose ($file);
$fp = fopen("upl/ip.php","r+");
ftruncate ($fp,0);
fclose($fp);
}
if (is_uploaded_file($_FILES['subor'] ['tmp_name']))
{
$addr = $REMOTE_ADDR;
$a1=file("upl/ip.php");
for ($i=0; $i < count($a1); $i++) $a1[$i]=chop($a1[$i]);
$a2=array_keys ($a1,$addr);
$c=count($a2);
if($c>4)
{
 echo "Prekročil si limit na 7 dní";
} 
else
{
if($volne>524288000)
{
echo "<font color='red'><blink>Limit 500MB pre uploadnuté súbory bol prekročený.Do 7 dní sa miesto uvoľní.</blink></font>";
}
else
{
$name  = $_FILES["subor"]["name"];
$array = explode(".", $name);
$ext  = $array[count($array)-1]; 
$size = $_FILES['subor'] ['size'];
$max = 1048576;
if($ext == "rar" && $size<=$max)
{
$file = fopen ("upl/ip.php", "a");
if (!$file)
{
   echo "<p><blink><font color='red'>Chyba!!!</font><blink>\n";
   exit;
}
/* Zapíšeme data. */
fputs ($file, "$REMOTE_ADDR\n");
fclose ($file);
move_uploaded_file($_FILES['subor'] ['tmp_name'],"./upload/{$_FILES['subor'] ['name']}");
echo "<blink><font style=\"color:red;\"><b>Váš súbor bol úspešne odoslaný na server!</b></font></blink>"; 
}
else
{
echo "Súbory tohto formátu niesú povolené alebo súbor je píliš veľký.";
}
}
}
}
$handle=opendir('upload');
while (false!==($file = readdir($handle))) 
{
if (($file != ".") && ($file != "..") && ($file != "/"))
{
echo "<tr style=\"border-top:1px solid white;\">";
echo "<td style='font-size:13px;text-overflow:ellipsis;'><a href=\"./upload/$file\" style=\"margin-left:20px;\">".$file."</a></td>";
echo "<td align=\"center\" style='font-size:13px'><font color='white'>".filesize("upload/$file")."&nbsp;b</font></td>";
echo "<td align=\"center\" style='font-size:13px'><font color='white'>".date("D M j G:i:s Y",filemtime("upload/$file"))."</font></td>";
echo "</tr>\n";
}
}
closedir($handle);
?>
</center>
Takze cez toto mozes uploadovat subory iba s priponou rar s velkostou 1MB.Spolu tam mozu ludia uploadnut najviac 500MB.Z jednej IP moze za 7 dni uploadnut 5 suborou.Kazdych 7 dni by sa mali IP adresy a subory vymazat ale nefacha to na 100%.
k-u-l-i
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 742
Registrovaný: 25 aug 2006, 18:12

Príspevok od používateľa k-u-l-i »

mohol by si to este upravit tak aby sa to nemazalo kazdych 7 dni, ale aby sa to tam uchavlo pokim to ja nezmazem ?

nahodil som to a vypyise mi nejake chyby :?
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

skus toto:

Kód: Vybrať všetko

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
   <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<meta http-equiv="Content-Language" content="sk">

    <META NAME="Description" CONTENT="Upload page.">
    <TITLE>Upload page</TITLE>
    <style type="text/css">
    a {color:white;}
    a:hover{color:white;}
    </style>
    </HEAD>                                                    
<body >
<br>
<center>
<div style="background:#ff7800;width:600px;height:30px;line-height:30px;color:white;" >
<form action="index.php" method="post" enctype="multipart/form-data"> 
<b>Cesta k súboru: </b>
<input type="file" name="subor" style="border:1px solid black;">
<input type="submit" value="Upload"  style="border:1px solid black;"> 
</form>
</div>
<br>
<div style="width:600px;" >
<table align="left" style="background:#ff7800;width:600px;color:white;" rules='groups' >
<tr style="color:white;">
<th>Názov súboru</th>
<th>Veľkosť súboru</th>
<th>Čas poslednej zmeny</th>
</tr>
<?php
if (is_uploaded_file($_FILES['subor'] ['tmp_name'])){
move_uploaded_file($_FILES['subor'] ['tmp_name'],"./upload/{$_FILES['subor'] ['name']}");  
echo "<blink><font style=\"color:red;\"><b>Vas subor bol uspesne odoslany na Server!</b></font></blink>"; }

$handle=opendir('upload');
while (false!==($file = readdir($handle))) {
    if (($file != ".") && ($file != "..") && ($file != "/")){
    echo "<tr style=\"border-top:1px solid white;\">";
    echo "<td><a href=\"./upload/$file\" style=\"margin-left:20px;\">".$file."</a></td>";
     echo "<td align=\"center\" >".filesize("upload/$file")."&nbsp;B</td>";
echo "<td align=\"center\" >".date("D M j G:i:s Y",filemtime("upload/$file"))."</td>";    
    echo "</tr>\n";
    }
    }
    closedir($handle);
?>
</div>
</body>
</HTML>
Ak to spravis spravne, to znamena, ze vytvoris zlozku upload, ktorej nastavis prava na zapis, tak ti to musi bezat. :wink:
k-u-l-i
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 742
Registrovaný: 25 aug 2006, 18:12

Príspevok od používateľa k-u-l-i »

nastavil som to vsetko tak ako mat byt a nic... :cry: :?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

skús ešte tento
jednoduchší už asi nemôže byť, ak ti ani to nepôjde tak je chyba niekde inde
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

k-u-l-i napísal:nastavil som to vsetko tak ako mat byt a nic... :cry: :?
Ako si nastavil prava na zapis do suborov? Aku chybu ti zahlasi? Ako sa to sprava?
chenmy
Amateur
Amateur
Príspevky: 34
Registrovaný: 20 feb 2008, 17:10

Príspevok od používateľa chenmy »

ppt napísal:skus toto:

Kód: Vybrať všetko

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
   <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<meta http-equiv="Content-Language" content="sk">

    <META NAME="Description" CONTENT="Upload page.">
    <TITLE>Upload page</TITLE>
    <style type="text/css">
    a {color:white;}
    a:hover{color:white;}
    </style>
    </HEAD>                                                    
<body >
<br>
<center>
<div style="background:#ff7800;width:600px;height:30px;line-height:30px;color:white;" >
<form action="index.php" method="post" enctype="multipart/form-data"> 
<b>Cesta k súboru: </b>
<input type="file" name="subor" style="border:1px solid black;">
<input type="submit" value="Upload"  style="border:1px solid black;"> 
</form>
</div>
<br>
<div style="width:600px;" >
<table align="left" style="background:#ff7800;width:600px;color:white;" rules='groups' >
<tr style="color:white;">
<th>Názov súboru</th>
<th>Veľkosť súboru</th>
<th>Čas poslednej zmeny</th>
</tr>
<?php
if (is_uploaded_file($_FILES['subor'] ['tmp_name'])){
move_uploaded_file($_FILES['subor'] ['tmp_name'],"./upload/{$_FILES['subor'] ['name']}");  
echo "<blink><font style="color:red;"><b>Vas subor bol uspesne odoslany na Server!</b></font></blink>"; }

$handle=opendir('upload');
while (false!==($file = readdir($handle))) {
    if (($file != ".") && ($file != "..") && ($file != "/")){
    echo "<tr style="border-top:1px solid white;">";
    echo "<td><a href="./upload/$file" style="margin-left:20px;">".$file."</a></td>";
     echo "<td align="center" >".filesize("upload/$file")."&nbsp;B</td>";
echo "<td align="center" >".date("D M j G:i:s Y",filemtime("upload/$file"))."</td>";    
    echo "</tr>\n";
    }
    }
    closedir($handle);
?>
</div>
</body>
</HTML>
Ak to spravis spravne, to znamena, ze vytvoris zlozku upload, ktorej nastavis prava na zapis, tak ti to musi bezat. :wink:
Kolko sa s tym da max uploadnut??? mne islo iba nieco okolo pol mega... :(
A este to nacitanie suborou z adresara sa mi pacilo... to pod tym uploadom co ukazuje uploadnute subory, nedalo by sa urobit nieco take ale aby nacitavalo subory z inej stranky??? napriklad www.nico.sk/nieco...... plz velmi to potrebujem... diki... :D
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

Príspevok od používateľa jorg22 »

To nacitanie adresarov by sa nedalo spravit aby to nacitavalo z ineho serveru.Jedine ze by na tom serveri bolo v .htaccess nastavene prehliadanie priecinkov z webu ale to ma asi malokto.
chenmy
Amateur
Amateur
Príspevky: 34
Registrovaný: 20 feb 2008, 17:10

Príspevok od používateľa chenmy »

jorg22 napísal:To nacitanie adresarov by sa nedalo spravit aby to nacitavalo z ineho serveru.Jedine ze by na tom serveri bolo v .htaccess nastavene prehliadanie priecinkov z webu ale to ma asi malokto.
tak aky je problem... obidva servery by boli moje... :P
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

chenmy napísal:Kolko sa s tym da max uploadnut??? mne islo iba nieco okolo pol mega...
to záleží od nastavení, môžeš si to zmeniť. V konfigurácii php nájdeš niečo ako

Kód: Vybrať všetko

upload_max_filesize = 2M
. Samozrejme iba ak máš práva meniť konfiguráciu.
chenmy
Amateur
Amateur
Príspevky: 34
Registrovaný: 20 feb 2008, 17:10

Príspevok od používateľa chenmy »

audiotrack napísal:to záleží od nastavení, môžeš si to zmeniť. V konfigurácii php nájdeš niečo ako

Kód: Vybrať všetko

upload_max_filesize = 2M
. Samozrejme iba ak máš práva meniť konfiguráciu.
a kam by som to presne mal dat??? lebo ja tam nic take nemam...
Napísať odpoveď