Autor | Zpráva | ||
---|---|---|---|
Shader Profil |
#1 · Zasláno: 14. 3. 2009, 11:11:27
Ahoj, potřebuji poradit, mám upload a potřebuji nahrávat i na jiné servery, ty si vyberem v seznamu. Jenze nwm jak dal pac to pise ze nemam opravneni, poradite? Prikladam zdrojaky:
UPLOAD.PHP <form method="post" action="index.php?page=upload-vysledek" name="upload"><input name="soubor" type="file"><br> <select name="server"> <option value="www.server1.com">server1</option> <option value="www.server2.com">server2</option> <option value="www.server3.com">server3</option> </select> <br> <input name="Nahrát!" value="Nahrát!" type="submit"><br> </form> UPLOAD-VYSLEDEK.PHP <? if ($akce == "Nahrát!") { if ($soubor_type == "text/plain" or $soubor_type="text/html") { if (move_uploaded_file ($soubor, "$server/data/$soubor_name")) { print "<br><br>Soubor <b>$soubor_name</b> o velikosti <b>$soubor_size</b> bajtů byl úspěšně uploadnut na <b>$server!</b><BR><br>"; echo "<b>Přímý odkaz:</b><br>"; echo "<textarea readonly name='code2' style='width:550px;height:20px;font-size:11px;color:#999999;' onClick=\'javascript:copyit('codeform.code2');\'>http://$server/datar/$soubor_name</textarea><br><br>"; echo "<b>Pro vložení do stránky:</b><br>"; echo "<textarea readonly name='code2' style='width:550px;height:20px;font-size:11px;color:#999999;' onClick=\'javascript:copyit('codeform.code2');\'><div style='text-align: right;'><a href='http://$server/data/$soubor_name'>Stáhnou z našeho serveru</a></div> </textarea><br><br>"; echo "INFO"; mail ("uplaodscript@testing.com", "Upload souboru $soubor_name", "Na $server byl nahrán soubor /data/$soubor_name\n", "From: system@testing.com\nX-web: http://www.testing.com/index.php?page=upload"); } else { print "Při nahrávání souboru došlo k chybě!<BR>"; } } else { print "Soubor není požadového MIME typu!<BR>"; } } ?> |
||
TomášK Profil |
#2 · Zasláno: 14. 3. 2009, 11:40:39
(move_uploaded_file ($soubor, "$server/data/$soubor_name") Problém je na tomhle řádku. Pokud v $server je třeba 'www.server1.com' (druhá možnost je, že tam není nic, protože parametr je uložen jen v $_POST['server']), pak se vytvoří cesta 'www.server1.com/data/nazev_souboru.php', www.server1.com se interpretuje jako název adresáře, který tam není a hlásí to, že nemáš práva. IMHO funkce move_uploaded_file nedokáže přehrávat soubory z jednoho serveru na jiný. Jak se to řeší, nevím, ale zkusil bych hledat ssh nebo ftp. |
||
Časová prodleva: 14 let
|
0