Autor Zpráva
adamico
Profil
Dobrý deň, používam tento script na pravidelné nahrávanie dokumentu na server:

# index.php
<form enctype="multipart/form-data" action="uploader.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Vyberte súbor na nahranie na server: <input name="uploadedfile" type="file" />
<input type="submit" value="Nahraj súbor" />
</form></center>


# uloader.php
<?php
$target_path = "uploads/"; // miesto na serveri, kde bude súbor uložený
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
if (move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path))
{
   echo "Súbor ". basename( $_FILES['uploadedfile']['name']). " bol nahraný na server";
}
else
{
   echo "Počas operácie nastala chyba, skúste znova! Pokiaľ sa táto hláška zobrazuje naďalej, konkatujte administrátora.";
}
?>


Chcem ale, aby po uploadnutí, resp. už pri nahrávaní, bol zmenený názov objektu, v tomto prípade dokumentu zo svojho pôvodného názvu, na jedalny_listok.htm, a pod týmto názvom bol aj na servery uložený, a s ním by som ďalej pracoval.

Pozeral som sa na php.net, a našiel som tam niečo takéto:

<?php
rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");
?>


ale kedže s php moc nerobím, neviem to tam implementovať tak, aby mi to fungovalo. Keby mi vedel niekto poradiť, resp. upraviť mi ten script tak aby išiel, bol by som mu veľmi vďačný.
TSD
Profil *
Čo si predstavujete pod takým pojmom "implementovať"?

funkce rename má dva parametry: název souboru který se má přejmenovat a jeho nový název.
adamico
Profil
No, myslím tým kde to mám dáť.. Lebo, ja som skúsil dať na koniec súboru "uploader.php" nasledujúci kód:

<?php
renamebasename ($_FILES['uploadedfile']['name']), "jedalny_listok.htm");
?>


No a samozrejme vyhodilo nasledujúci error, pretože ako mi bolo hned jasné, syntax neviem:
Parse error: syntax error, unexpected ',' in C:\Program Files\Apache\htdocs\up\uploader.php on line 17

A tiež neviem, či to zmení ten názov, ked je to na spodku súboru uploader.php, alebo na to treba nejaký klikatelný button, ktorý po kliknutí naň, premenuje uploadnutý súbor.
TSD
Profil *
Nevím co je renamebasename.

Syntaxe rename je taková, jaks ji popsal výše

Takže

<?php
rename ($_FILES['uploadedfile']['name']), "jedalny_listok.htm");
?>


by mělo fungovat. Jen si nejsem jist, jestli jedalny_listok.htm může být uveden bez cesty, tzn. relativně. Ale myslím že by mohl.
adamico
Profil
Ten renamebasename, to som si ani nevšimol že to je tam miesto rename. Ale aj tak mu tam stále vadí ta čiarka:

Parse error: syntax error, unexpected ',' in C:\Program Files\Apache\htdocs\up\uploader.php on line 17


<?php
rename ($_FILES['uploadedfile']['name']), "jedalny_listok.htm");
?>
TSD
Profil *
a kam to dať.. hned za
echo "Súbor ". basename( $_FILES['uploadedfile']['name']). " bol nahraný na server";
TSD
Profil *
máš tam o závorku víc, je to ta před čárkou.
adamico
Profil
Ďakujem, už to funguje..

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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