Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ajax][js][php] upload plikow i operacje na tym pliku
puz219
post
Post #1





Grupa: Zarejestrowani
Postów: 201
Pomógł: 0
Dołączył: 1.07.2007

Ostrzeżenie: (0%)
-----


Witam.

Uploaduje sobie plik na serwer przy pomocy ajaxa i iframe. Plik uploaduje sie poprawnie, tylko chciałbym z tego pliku wyciągnąć pewne informacje, wiec wczytuje za pomocą advajaxa stronę, na której jest skrypt, który przetwarza dane z wcześniej uploadowanego pliku, tylko, że zazwyczaj zwraca mi błąd, ze plik nie istnieje:

Warning: fopen(tmp/dane.csv) [function.fopen]: failed to open stream: No such file or directory in C:\AppServ\www\test\index.php on line 63

Wydaje mis się, ze jest to związane z tym, ze skrypt wczytuje się zbyt wcześnie, zanim plik zdąży się zuploadować na serwer.

Oto mój formularz:
  1. <?php
  2. echo "<div id=\"frame_".$_GET["frame"]."\">";
  3. echo "<form action=\"".$PHP_SELF."?action=uplFile\" target=\"file_upload_frame_".$_GET["frame"]."\" method=\"post\" enctype=\"multipart/form-data\">
  4.    <input type=\"file\" name=\"file\" id=\"file\" onChange=\"upl(this, '".$_GET["frame"]."')\">
  5. </form></div>";
  6.  
  7. echo "<iframe name=\"file_upload_frame_".$_GET["frame"]."\" style=\"display: none\"></iframe>";
  8. ?>


A to funkcja, upl() w js, ktora odpowiada za wyslanie formularza:
  1. function upl(upload, id) {
  2. var roz = /\.csv/i;
  3. var filename = upload.value;
  4. var stat;
  5.  
  6. if (filename.search(roz) == -1) {
  7. alert('niedozwolony format pliku');
  8. upload.form.reset();
  9. return false;
  10. }
  11. else {
  12. upload.form.submit();
  13. upload.disabled = true;
  14. getData('index.php?show=proceed&filename=' + filename, 'frame_' + id);
  15. return true;
  16. }
  17. }


natomiast funkcja getData(), to funkcja wczytująca stronę do diva, napisana w advajax.

Bardzo proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Wydaje mis się, ze jest to związane z tym, ze skrypt wczytuje się zbyt wcześnie, zanim plik zdąży się zuploadować na serwer.

Masz rację. Wykonuj getData, gdy formularz zostanie już wysłany. Spróbuj może dokleić wywołanie getData dla zdarzenia onLoad dla tej ramki.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 12:24