Autor Zpráva
soego
Profil
Dobrý den
Potřeboval bych uploadovat soubor pomocí PHP na FTP do dvou různých umístění. (např.: do složky IMAGES a zároveň do složky OBRAZKY ) - pomocí formuláře...Pokusil jsem se o to takhle (viz. níže), ale soubor se vždy uploadoval pouze do prvního umístění - do druhého již ne.

if (isset($_POST['uloz'])){
move_uploaded_file($_FILES['obrazek']['tmp_name'],"images/".$_FILES['obrazek']['name']);
move_uploaded_file($_FILES['obrazek']['tmp_name'],"../images/".$_FILES['obrazek']['name']);
}

Moc děkuji za radu...
ninja
Profil
Protoze po prvnim pouziti funkce move_uploaded_file() se obrazek presune do ciloveho umisteni. Do druheho adresa jej normalne zkopirujte pomoci funkce copy().
soego
Profil
[#2]Prosím mohl byste mi uvézt příklad? Přiznám se, že jsem copy() jestě nikdy nepoužil...Díky moc za reakci..
bohyn
Profil
soego
PHP manual - copy()
soego
Profil
[#4]
Moc z toho moudrej nejsem :-) Mohlo by to vypadat nějak takto?

if (isset($_POST['uloz_soubor_download'])){
//script, který uloží daný soubor z formuláře na server
move_uploaded_file($_FILES['zbozi_obrazek']['tmp_name'],"images/".$_FILES['zbozi_obrazek']['name']);
copy("images/".$_FILES['zbozi_obrazek']['name'],"../images/".$_FILES['zbozi_obrazek']['name']);
}
soego
Profil
Už jsem na to kápnul. Ale ještě se chci zeptat...zatím mi to běží na localhostu. Bude mi to fungovat stejným způsobem poté, co to nahodím na net?(samozřejmě po přepsání cest ke složkám?) Díky za radu...a přikládám onen script.

<?php
//pokud se stiskne tlačítko "Ulož soubor ke stažení", tak se uloží do databáze
if (isset($_POST['uloz_soubor_download'])){
//script, který uloží daný soubor z formuláře na server
move_uploaded_file($_FILES['zbozi_obrazek']['tmp_name'],"../images/".$_FILES['zbozi_obrazek']['name']);
copy("C:/Program Files/EasyPHP1-8/www/test/images/".$_FILES['zbozi_obrazek']['name'],"C:/Program Files/EasyPHP1-8/www/test/admin/images/".$_FILES['zbozi_obrazek']['name']);
}
ninja
Profil
Melo by to fungovat. Bude treba zkontrolovat cesty a prava.
soego
Profil
[#7]
Díky. Ještě poslední věc...ty práva přiděluji funkcí chmod. Když tomu souboru vždy přidělím 0777 - bude pak nějaký problém s oprávněním? A druhá otázka: při funkci copy musím vždy(na localhostu i na netu) zadávat cestu ke složce absolutně? Díky za odpověď. už nebudu otravovat :-)

<?php
//pokud se stiskne tlačítko "Ulož soubor ke stažení", tak se uloží do databáze
if (isset($_POST['uloz_soubor_download'])){
//script, který uloží daný soubor z formuláře na server
move_uploaded_file($_FILES['zbozi_obrazek']['tmp_name'],"../images/".$_FILES['zbozi_obrazek']['name']);
chmod ("../images/".$_FILES['zbozi_obrazek']['name'], 0777);
copy("C:/Program Files/EasyPHP1-8/www/azanatura/images/".$_FILES['zbozi_obrazek']['name'],"C:/Program Files/EasyPHP1-8/www/azanatura/admin/images/".$_FILES['zbozi_obrazek']['name']);
}
bohyn
Profil
soego
Když tomu souboru vždy přidělím 0777 - bude pak nějaký problém s oprávněním?
Ne. Ale staci pridelit jen 0666

A druhá otázka: při funkci copy musím vždy(na localhostu i na netu) zadávat cestu ke složce absolutně?
Staci zadavat relativne ke scriptu ze ktereho ty funkce volas.
soego
Profil
Dobrý den, tak jsem tento script nahodil na ftp(czechia) ,ale bohužel mi nefunguje...obrázek se sice uploaduje, ale jen do prvního umístění. Do druhého používám funkci copy.

if (isset($_POST['uloz_soubor_download'])){
//script, který uloží daný soubor z formuláře na server
move_uploaded_file($_FILES['zbozi_obrazek']['tmp_name'],"../images_obr/".$_FILES['zbozi_obrazek']['name']);
chmod ("../images_obr/".$_FILES['zbozi_obrazek']['name'], 0777);
copy("o:/public_html/demo/images_obr/".$_FILES['zbozi_obrazek']['name'],"o:/public_html/demo/admin/images_obr/".$_FILES['zbozi_obrazek']['name']);
}


zkoušel jsem i relativní adresu: copy(../images_obr/".$_FILES['zbozi_obrazek']['name'],images_obr/".$_FILES['zbozi_obrazek']['name']); - ale taky bez uzpěchu. problém s oprávněním mě taky napadl, ale ve scriptu mám: chmod ("../images_obr/".$_FILES['zbozi_obrazek']['name'], 0777);

Moc děkuji za radu

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: