[PHP] bestand stabiel of niet?

Pagina: 1
Acties:
  • 111 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op dit moment ben ik bezig met een upload en import script.

Ik heb 2 frames, de bovenste is het upload scherm (via een java applet (via ftp)) en de onderste een import script.
Echter op dit moment pakt het import script al een bestand wat op dat moment nog bezig is met uploaden. Dit mag natuurlijk niet, want het import script verplaatst het bestand en gooit het tijdelijke bestand uit de ftp map weer weg.

Hoe kan je in php in 1 keer checken of het bestand al helemaal geupload is. Kan je via 1 code in een keer kijken of er al een EOF is zonder eerst het complete bestand door te lopen?

Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Ehm, je refresht je onderste frame dus al voordat de upload klaar is, oftewel op het moment dat de upload begint?

Als dat zo is: niet doen, pas refreshen als de upload klaar is. Dus een of andere combo aanleggen met de Java misschien?

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
om tijd te besparen draait het import script elke 30 seconde.
de java applicatie is van iemand anders, ik heb niet zo veel verstand van java...

[ Voor 41% gewijzigd door Verwijderd op 26-02-2005 15:42 ]


Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Hoe meer ik erover nadenk, hoe meer het neerkomt op de Java applet.

Oplossingen:
- De applet upload het bestand naar een temp directory, als klaar > move naar final directory en dan dus het PHP script alleen in de final directory laten kijken.
- De applet het onderste frame laten refreshen als de upload klaar is.

Doet het script alleen de import? Als dat niet zo is dan houdt het op, echter als de link tussen het uploaden van de bestanden en het script aanwezig is, hoeft er dus alleen ge-refreshed te worden op het moment dat er bestanden zijn geupload.

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
de applet heeft de functie om nadat alles is geupload te redirecten naar een url in een target. Echter heb ik juist deze oplossing bedacht (uploaden en importeren tegelijk) omdat ik bij het achter elkaar importeren van meer dan X bestanden het import script zonder enkele aanwijzing stopt....
X is de ene keer 15 bestanden, dan weer 9 bestanden dan weer 8 bestanden dan weer 12 bestanden... totaal geen touw aan te knopen terwijl het precies de zelfde bestanden waren in dezelfde volgorde.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb het opgelost.
de java applet gaf ook de functie om een tijdelijk bestand te maken.....
doordat er dan .tmp achterstaand heb ik het import script die bestanden over laten slaan...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
omdat de applet niet beviel, je kon pas extra bestanden selecteren nadat de lading die daarvoor was aangegeven klaar was met uploaden, heb ik een andere applet gevonden die wil een que functie heeft..

Echter heeft deze applet weer niet de functie om een tijdelijk bestand te maken en zit ik dus weer met hetzelfde probleem als m'n startpost...
Nu dacht ik dit op te lossen door de volgende code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$directory = "pix/";  
$dirhandle = opendir($directory);
while($file = readdir($dirhandle))  { 
     if ((ereg("[jpg]$", $file)) AND (!ereg("[tmp]$", $file))) {
         $name = $directory . $file; 
         $size1 = filesize($name); 
         print("$name $size1<br>");
         while($size1 != filesize($name)) {
            $size1 = filesize($name);
            print("$size1<br>");
         }
         clearstatcache();
         $size2 = filesize($name);
         print("$name $size2");

     }
}


Echter geeft $size1 altijd de zelfde waarde terug als $size2.. ze lopen te snel na elkaar...
hoe kan ik dit op lossen???

[ Voor 7% gewijzigd door Verwijderd op 06-03-2005 20:17 ]


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Upload versnellen :)

Of je kan het heel omslachtig doen met 2 php bestandjes die 10 sec van elkaar afdraaien.
php1 gooit de tijd en grootte in de dbase.
php2 kijkt of tijd grootte nog gelijk zijn. indien ja, dan importeren ( Alhoewel je met sommige langzame modemverbindingen nog steeds het risico hebt dat er binnen 10 sec niks is binnengekomen.

Maar makkelijkste is gewoon even maker van java bestand mailen met de vraag of je ergens kan zien of een bestand klaar is of niet.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op zondag 06 maart 2005 @ 20:10:
Echter geeft $size1 altijd de zelfde waarde terug als $size2.. ze lopen te snel na elkaar...
hoe kan ik dit op lossen???
http://nl3.php.net/sleep :z

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
tja, sleep.... vind ik geen geweldige optie...
zeker niet als je het combineerd met een meta refresh...

of begint de refresh pas als de pagina compleet is geladen???

edit: even testen en je weet het.... onder IE 6.0 iedergeval wel....

[ Voor 76% gewijzigd door Verwijderd op 06-03-2005 21:07 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op zondag 06 maart 2005 @ 20:48:
tja, sleep.... vind ik geen geweldige optie...
zeker niet als je het combineerd met een meta refresh...

of begint de refresh pas als de pagina compleet is geladen???

edit: even testen en je weet het.... onder IE 6.0 iedergeval wel....
Volgens mij wordt de refresh pas gedaan als de pagina klaar is met laden. Verder output je browser vaak geen input totdat de pagina helemaal verstuurd is, dus je browser zal ook op die sleep moeten wachten.

Trouwens, ik vind sleep ook maar niks, maar jij bent gewoon gekke dingen aan het doen. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hoe zou jij het oplossen dan??
Pagina: 1