Autor Zpráva
Vtipnéř
Profil *
Mám formulář, kde je položka typu "file". Potřeboval bych ale, aby se místo souboru z lokálního počítače použil soubor (vybraný z nabídky) ze serveru ve stejném adresáři, jako je volaná html stránka.

Formulář vrací soubor, který bych pak potřeboval uložit a dále zpracovat (LaTeXem), ale zatím bych potřeboval pohnout s tou první věcí. Předpokládám, že je to snadné, ale už jsem na tom strávil pár hodin a nic.
keeehi
Profil
Vtipnéř:
Řekl bych, že předpokládáš špatně.
Vyřeš to třeba selectem.
Script projde adresář, vybere všechny jména souborů, uloží je třeba do pole a pak to pole prochází a vytváří z něj select. Ten soubor se uploadovat nemusí, protože už na servru je.

Příklad takového jednoduchého scriptu:
<?php
$ze_slozky=scandir("./");
foreach($ze_slozky as $soubor)
  if(is_file($soubor)) $soubory[]=$soubor;

natcasesort($soubory);

echo "<select name=\"soubory\">";
foreach($soubory as $soubor)
  echo "<option value=\"$soubor\">$soubor</option>";
echo "</select>";

?>
Vtipnéř
Profil *
Dík za tip, že nemusím uplodovat, to jsem věděl. Nechci ale vybírat ze všech souborů, ale jen z několika konkrétních, jjichž jména znám. Měl jsem představu něco jako
<select name="keyfile">
<option value="soubor1.txt">1. soubor</option>
<option value="soubor2.txt">2. soubor</option>
<option value="soubor3.txt">3. soubor</option>
</select>

Nejde to bez PHP?
Keeehi
Profil
Vtipnéř:
Vždyť sis to sám napsal. Když ty jména znáš, tak si to můžeš udělat takto.

Co chceš bez php? Ten select? To jde, to už sis napsal.
Vtipnéř
Profil *
Jenže to nejede. Chodící kód je
<form method="post" action="http://adresa.cz/zpracovani_formulare" enctype="multipart/form-data">
<input name="soubor" value="a" type="hidden">
<input name="typ" value="latex" type="hidden">
<input name="kodovani" value="iso-8859-2" type="hidden">
<input name="keyfile" size="50" type="file">
<input name="vlozit" value="Vložit soubor" type="submit">
</form>

Když řádek pro výběr souboru nahradím uvedeným <select>, tak se mi vrátí soubor s chybovým hlášením o prázdném vstupu. Přitom ty soubory tam určitě jsou, přístupová práva jsou OK.
Keeehi
Profil
Vtipnéř:
To ale musíš upravit i ten script, který to zpracovává. (V tomto případě http://adresa.cz/zpracovani_formulare-něco)
Vtipnéř
Profil *
Tam se nedostanu, to je externí stránka. Normálně se tam pošle soubor v XML a vrátí to zpět HTML nebo LaTeX. Chtěl jsem to použít tak, aby si uživatel nemusel sám dělat svůj XML soubor, ale vybral si z nabídky hotových.

Předpokládám, že v proměnné "keyfile" je celý obsah souboru. Nedá se tam dostat nějak jinak?
Vtipnéř
Profil *
Šlo by to přes FRead?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0