Autor | Zpráva | ||
---|---|---|---|
Ondrej S. Profil * |
#1 · Zasláno: 21. 5. 2009, 16:34:41
Hello,
mám formulár pomocou ktorého by som chcel otvoriť XMLko, načítať z neho určité dáta a vypísať ich na stránku. Všetko funguje ako má, až na jednu drobnosť. Keď následne otvorím načítaný súbor z disku, urobím zmenu a chcem ho uložiť, dostanem chybovú hlášku. To isté sa stane keď chcem súbor vymazať. Ak chcem teda urobiť niečo s týmto súborom, musím najprv vypnúť Firefox. [b]Kód formuláru:[/b] <form action="<?php echo $url;?>?action=xml" enctype="multipart/form-data" method="post" class="column-form"> <p> <label for="wcmXMLLoad">Load:</label> <input type="file" id="wcmXMLLoad" name="wcmXMLLoad" size="40" /> </p> <div class="buttons-row"> <p class="first"> <input type="submit" name="submit" value="Load" class="btn-arrow-pri" /> </p> </div> </form> [b]PHP kód:[/b] else if (isset($_GET["action"]) && $_GET["action"] == "xml") { if (file_exists($_FILES["wcmXMLLoad"]["tmp_name"])) { $xml = simplexml_load_file($_FILES["wcmXMLLoad"]["tmp_name"]); $wcmBodyData = $xml->content->field[2]; } else { echo "Failed to open file."; } } |
||
Aesir Profil |
#2 · Zasláno: 21. 5. 2009, 16:44:52
Ondrej S.:
„dostanem chybovú hlášku“ Jakou? Pochlubte se. „PHP kód: “ Ten očividně není kompletní a nezvýrazněné se to moc dobře nečte, dejte to sem kdyžtak celé a obalte to příslušným tagem pro kód. |
||
Ondrej S Profil |
#3 · Zasláno: 21. 5. 2009, 17:07:32
ok, tento krát teda prehladnejšie :)
chýbová hláška (pri mazaní): "Cannot delete xml: It is being used by another person or program. Close any programs that might be using the file and try again." Upravený kód (mal by teraz fungovať standalone): <?php if (isset($_GET["action"]) && $_GET["action"] == "xml") { if (file_exists($_FILES["wcmXMLLoad"]["tmp_name"])) { $xml = simplexml_load_file($_FILES["wcmXMLLoad"]["tmp_name"]); $wcmBodyData = $xml->field; echo $wcmBodyData; } else { echo "Failed to open file."; } } ?> <form action="<?php echo $_SERVER["PHP_SELF"]?>?action=xml" enctype="multipart/form-data" method="post"> <p> <label for="wcmXMLLoad">Load:</label> <input type="file" id="wcmXMLLoad" name="wcmXMLLoad" size="40" /> </p> <div> <p> <input type="submit" name="submit" value="Load"/> </p> </div> </form> Načítané XML: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <content> <field name="body_text" type="RichTextComponent">v16_general_body</field> </content> |
||
bohyn Profil |
#4 · Zasláno: 21. 5. 2009, 17:55:49 · Upravil/a: bohyn
Ondrej S
"Cannot delete xml: It is being used by another person or program. Close any programs that might be using the file and try again." Tato hlaska neni z tebou predlozeneho kodu. Pravdepodobne se snazis smazat soubor otevreny XML parserem. Napred zavri ten soubor, pak ho smaz. |
||
Ondrej S Profil |
#5 · Zasláno: 22. 5. 2009, 09:48:55
Ok, mal som spustený len Firefox, načítal som XML pomocou kódu, ktorý som pastol vyššie a súbor vypíše tú istú chybovú hlášku keď sa ho snažím vymazať ako pred tým. Keď vypnem Firefox, ide zmazať v pohode.
Skúšal som odmazať riadok simplexml_load_file($_FILES["wcmXMLLoad"]["tmp_name"]); Mam pocit, že celý problém sa týka odosielania dát z <form> |
||
Časová prodleva: 15 let
|
0