upload súborov

Programovacie jazyky, rady, poradňa...
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

upload súborov

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

Chcel by som vás poprosiť že ja som doteraz mal upload skript ktory ukladal súbory s ich pôvodnými názvami a potom v tom skripte som mal link na stiahnutie http://upload.webscript.biz/download/do ... file=$name
Doteraz to fungovalo, ale teraz to už nefunguje, lebo som tam pridal ten skript čo mi napísali v mojom predminulom poste a takto to vyzerá, všetko to uploadne v poriadku, ale keď ten link chcem napísať takto aj s tou pôvodnou premennou tak mi to píše pôvodný názov súboru a nie ten premeneny, tu je ten link: http://upload.webscript.biz/download/do ... file=$name
Tu je ten upload skript:

Kód: Vybrať všetko

<center> 
<form method="post" enctype="multipart/form-data" action="#"> 
 <input type="hidden" name="odoslany" value="" /> 
 <input type="file" name="subor" /> 
 <input type="submit" value="Nahrat" /> 
 <input type="hidden" value="download" name="cmd"> 
</br>Povolené typy súborov pre upload: .jpg , .png , .gif , .JPG , .GIF , .ppt , .pps , .doc , .docx , .rtf , .zip , .tar.gz , .avi , .mpg , .3gp , .mp3 , .mp4 , .mp5 , .ogg , .m3u</br> 
Maximálna velkost jedného súboru: 220MB
</form> 

<?php
  $dovolene = array(".jpg",".png",".gif",".JPG",".PNG",".GIF",".ppt",".pps",".doc",".docx",".rtf",".zip",".rar",".tar.gz",".avi",".mpg",".3gp",".mp3",".mp4",".mp5",".ogg",".m3u");
 if (isset($_POST["odoslany"])) {
 if (is_uploaded_file($_FILES["subor"]["tmp_name"])) {
 $name = $_FILES["subor"]["name"];
 if(in_array(strrchr($name, '.'),$dovolene)){
 $copy = move_uploaded_file($_FILES["subor"]["tmp_name"], "download/".date("dmYHis"). strrchr($name, '.'));
 } else $copy = false;
 if ($copy) {
 echo "<p>Súbor bol <b>úspesne</b> nahratý.</p>";
 echo "<p><strong>Permanentný odkaz na stiahnutie: http://upload.webscript.biz/download/download.php?file=$name</strong></p>";
} else {
 echo "Upload sa nepodaril, skús to znovu.";
 }
 }
 }
?> 
</center>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
Copiright by WebScript. Tento web patrý medzi projekty webu <a href="http://webscript.biz">WebScript.Biz</a>
Chcel by som sa vás opýtať že či by ste mi nemohli napísať link cez ktorý bude fungovať, doteraz tam bola premenná $name a teraz tam mám dať akú?
Ďakujem
Snáď ste ma pochopili lebo som to napísal jak analfabet.
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 »

riadok

Kód: Vybrať všetko

$copy = move_uploaded_file($_FILES["subor"]["tmp_name"], "download/".date("dmYHis"). strrchr($name, '.')); 
zameň za tieto dva

Kód: Vybrať všetko

$name = date("dmYHis") . $name;
$copy = move_uploaded_file($_FILES["subor"]["tmp_name"], "download/". strrchr($name, '.')); 
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

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

dik, ale nefunguje mi to, píše mi to download link v tvare: http://upload.webscript.biz/download/do ... suboru.zip
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 »

a ako to má písať? Z toho čo si napísal sa dá iba domýšlať
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

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

Ja pouzivam na upload iba tento skript:

Kód: Vybrať všetko

<center>
<form method="post" enctype="multipart/form-data" action="#">
 <input type="hidden" name="odoslany" value="" />
 <input type="file" name="subor" />
 <input type="submit" value="Nahrat" />
 <input type="hidden" value="download" name="cmd">
</br>Povolené typy súborov pre upload: .jpg , .png , .gif , .JPG , .GIF , .ppt , .pps , .doc , .docx , .rtf , .zip , .tar.gz , .avi , .mpg , .3gp , .mp3 , .mp4 , .mp5 , .ogg , .m3u</br>
Maximálna velkost jedného súboru: 220MB
</form>

<?php
  $dovolene = array(".jpg",".png",".gif",".JPG",".PNG",".GIF",".ppt",".pps",".doc",".docx",".rtf",".zip",".rar",".tar.gz",".avi",".mpg",".3gp",".mp3",".mp4",".mp5",".ogg",".m3u");
 if (isset($_POST["odoslany"])) {
 if (is_uploaded_file($_FILES["subor"]["tmp_name"])) {
 $name = $_FILES["subor"]["name"];
 if(in_array(strrchr($name, '.'),$dovolene)){
 $copy = move_uploaded_file($_FILES["subor"]["tmp_name"], "download/".date("dmYHis"). strrchr($name, '.'));
 } else $copy = false;
 if ($copy) {
 echo "<p>Súbor bol <b>úspesne</b> nahratý.</p>";
 echo "<p><strong>Permanentný odkaz na stiahnutie: http://upload.webscript.biz/download/download.php?file=$name</strong></p>";
} else {
 echo "Upload sa nepodaril, skús to znovu.";
 }
 }
 }
?>
</center>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
Copiright by WebScript. Tento web patrý medzi projekty webu <a href="http://webscript.biz">WebScript.Biz</a> 
A ten skript download.php

Kód: Vybrať všetko

<?php
$file = $_GET['file']; // Filename
$speed = 50; // i.e. 50 kb/s download rate
if(file_exists($file) && is_file($file)) {
   header("Cache-control: private");
   header("Content-Type: application/octet-stream");
   header("Content-Length: ".filesize($file));
   header("Content-Disposition: filename=$file" . "");
   flush();
   $fd = fopen($file, "r");
   while(!feof($fd)) {
      echo fread($fd, round($speed*1024)); // $speed kb at a time
      flush();
      sleep(1);
   }
   fclose ($fd);
}
?>
Ja už viac skriptov nepoužívam, takže neviem co este potrebujes ak este nieco potrebujes, niaky subor(neviem aky, lebo už žiadne ine tam nemam) tak napis
Dakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: upload súborov

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

WebScript napísal:... všetko to uploadne v poriadku, ale keď ten link chcem napísať takto aj s tou pôvodnou premennou tak mi to píše pôvodný názov súboru a nie ten premeneny, tu je ten link: http://upload.webscript.biz/download/do ... file=$name
WebScript napísal:dik, ale nefunguje mi to, píše mi to download link v tvare: http://upload.webscript.biz/download/do ... suboru.zip
na toto som narážal. Teraz ti to predsa vypisuje ten nový názov súboru, a práve to si požadoval v prvom príspevku. Tak nechápem čo znamená že to nefunguje
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

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

Ja som to chcel aby to napísalo odkaz v takomto tvare:
http://upload.webscript.biz/download/do ... 421554.zip
Premna za mna to moze byt aj v takom tvare ako si pisal ty.
Len to nefunguje, nevytvory to subor s nazvom napr. 0110022Hrady_a_zamky.doc tak to nefunguje, sak skus ten skript a uvidis
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 »

tak raidok $name = date("dmYHis") . $name; bude iba $name = date("dmYHis");
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

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

teraz mi to píše keď kliknem na upload:

Warning: move_uploaded_file(download/) [function.move-uploaded-file]: failed to open stream: Is a directory in /home/www/webscript.biz/upload/index.php on line 18

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/home/www/webscript.biz/phpqHXlmB' to 'download/' in /home/www/webscript.biz/upload/index.php on line 18
Upload sa nepodaril, skús to znovu.
Tu je ten upravený skript:

Kód: Vybrať všetko

<center> 
<form method="post" enctype="multipart/form-data" action="#"> 
 <input type="hidden" name="odoslany" value="" /> 
 <input type="file" name="subor" /> 
 <input type="submit" value="Nahrat" /> 
 <input type="hidden" value="download" name="cmd"> 
</br>Povolené typy súborov pre upload: .jpg , .png , .gif , .JPG , .GIF , .ppt , .pps , .doc , .docx , .rtf , .zip , .tar.gz , .avi , .mpg , .3gp , .mp3 , .mp4 , .mp5 , .ogg , .m3u</br> 
Maximálna velkost jedného súboru: 220MB
</form> 

<?php
  $dovolene = array(".jpg",".png",".gif",".JPG",".PNG",".GIF",".ppt",".pps",".doc",".docx",".rtf",".zip",".rar",".tar.gz",".avi",".mpg",".3gp",".mp3",".mp4",".mp5",".ogg",".m3u");
 if (isset($_POST["odoslany"])) {
 if (is_uploaded_file($_FILES["subor"]["tmp_name"])) {
 $name = $_FILES["subor"]["name"];
 if(in_array(strrchr($name, '.'),$dovolene)){
 $name = date("dmYHis");
 $copy = move_uploaded_file($_FILES["subor"]["tmp_name"], "download/". strrchr($name, '.')); 
 } else $copy = false;
 if ($copy) {
 echo "<p>Súbor bol <b>úspesne</b> nahratý.</p>";
 echo "<p><strong>Permanentný odkaz na stiahnutie: http://upload.webscript.biz/download/download.php?file=$name</strong></p>";
} else {
 echo "Upload sa nepodaril, skús to znovu.";
 }
 }
 }
?> 
</center>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
Copiright by WebScript. Tento web patrý medzi projekty webu <a href="http://webscript.biz">WebScript.Biz</a>
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 »

Kód: Vybrať všetko

$name = date("dmYHis") . strrchr($name, '.');
$copy = move_uploaded_file($_FILES["subor"]["tmp_name"], "download/". $name);
WebScript
Medium Expert
Medium Expert
Príspevky: 118
Registrovaný: 04 okt 2009, 14:25

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

diki, už mi to funguje, chcel by som sa ešte spýtať že či by si mi nemohol dodať do toho kódu aby sa vygeneroval nahodny nazov priecinka, aby ho vytvoril, a aby do neho uploadol ten súbor?
napr. uplo by to niaky súbor, a umiestnenie by mohlo vyzerat takto: 15145245/15421545.zip ale asi by som musel upravit este subor download.php

Ďakujem
Napísať odpoveď