Autor Zpráva
esemeska
Profil
<?

$subor = fopen("$file","w+");
fwrite($subor, $file);
fclose ($subor);

if (file_exists ($file))
echo"vse ok";
else echo"nic ok";
?>


Jen mě napadlo, jak udělat jednoduchý upload souborů.
Myslíte, že toto bude po nastavení práv fungovat?
Asi to není moc spolehlivé co?
Doma mi to funguje
Hugo
Profil
Pokud to dobře chápu, tak obsahem výsledného souboru bude název uploadovaného souboru. Nejdřív musíš načíst obsah souboru do proměnné (např. FRead) a pak ho teprve vložit do nového souboru. Ale jednodušší je imho použít move_uploaded_file.

Proč to chceš řešit takto?
Gekon
Profil
Zkus si vyhrabat něco z tohohle, třeba Ti to pomůže
<?
$smaz=$_GET[smaz];
if(isset($smaz)){
$f2 = explode(".", $smaz);
$f3 = explode("_", $f2[0]);
if($f3[1]==$user){
unlink("../skladiste/uziv_fotky/".$smaz);
echo("Soubor <b>".$smaz."</b> byl smazán!<br>");
}
else{
echo("Soubor <b>".$smaz."</b> nebyl smazán!<br>");
}
}

$action=$_POST[action];
$soubor_name=$_FILES[soubor][name];
$soubor_size=$_FILES[soubor][size];
$soubor=$_FILES[soubor][tmp_name];
$upload=$_POST[upload];
if($action=="uloz"){
$soubor_name = StrTr($soubor_name, "áäčďéěëíňóöřšťúůüýžÁÄČĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽ", "aacdeeeinoorstuuuyzAACDEEEINOORSTUUUYZ");

$a = explode(".",$soubor_name);
$soubor_name = $a[0]."_".$user.".".$a[1];
$f = explode(".", $soubor_name);
$p = $f[count($f) - 1];
if($p=="gif" OR $p=="bmp" OR $p=="jpeg" OR $p=="jpg") {
if($soubor_size<="700000") {
if (copy ($soubor, "../fotky/$soubor_name")) {
echo 'Soubor : ',$soubor_name,' (',$soubor_size,'kB - ',$soubor_type,') byl úspěšně nahrán na server...';
}
else{
echo 'Nastala chyba !!!';
}
}
else{
echo("Maximální velikost fotky je 700kb!");
}
}
else{echo 'Soubor není obrázek!!';}

}
?>
<b>Moje fotky:</b><br><table>
<?
$adresar = opendir("../fotky");
$tmp = readdir($adresar);
$tmp = readdir($adresar);

while ($soubor = readdir($adresar) and $file = filesize("../fotky")){
$f2 = explode(".", $soubor);
$f3 = explode("_", $f2[0]);
if($f3[1]==$user){
echo ("<tr><td><a href=\"http://neco/fotky/$soubor\" target=_blank>".$soubor."</a></td><td><a href=\"foto.php?smaz=".$soubor."\">smazat</a></td></tr>");

}
}
?></table><br>
<b>Ostatní fotky:</b><br>
<?
$adresar = opendir("../fotky");
$tmp = readdir($adresar);
$tmp = readdir($adresar);

while ($soubor = readdir($adresar) and $file = filesize("../fotky")){
$f2 = explode(".", $soubor);
$f3 = explode("_", $f2[0]);
if($f3[1]!=$user){
echo ("<a href=\"http://neco.cz/fotky/$soubor\" target=_blank>".$soubor."</a><br>");

}
}
?>
Gekon
Profil
PS: Je v tom pár chyb, většinou jen tvar domény, ale to si stejně dosadíš podle sebe...
WertriK
Profil *
Takovy upload nefunguje, alespon me nefungoval kdyz jsem to zkousel. Na localu to bezi ale normal takovy upload nerozjedes, bylo by docela sranda kdyby jsi si tam nastavil aby to nasetlo primo nejaky soubor[napr. autoexec ] a php by se bez problemu k nemu dostal a nacetl ti ho....
Gekon
Profil
WertriK
Mě to běží v pohodě (viz. www.xidlisti.net)
Hugo
Profil
Nechce se mi to moc zkoumat, ale jako první věc bych zaměnil funkci copy za move_uploaded_file(). Tím si zajistíš funkčnost i se zapnutým safe_modem.
WertriK
Profil *
Gekon
jenze ty to nemas tak jak ukazoval esemeska. On nacetl obsah souboru z disku uzivatele a ulozil data do noveho souboru na servru. Coz by bylo paradni kdyby to fungovalo ;)
esemeska
Profil
WertriK
Coz by bylo paradni kdyby to fungovalo ;)
No ono to funguje, kdyz se tomu chce ;)
Anonymní
Profil *
Mrkni semka: http://3s6.wz.cz/soubory/upload.phps
Je tam trida na upload :) funguje :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0