![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Hero
![]() Registriert seit: 04.09.2001
Beiträge: 894
|
![]() hi !
eine kurze beschreibung meines "problemes": um eine datei auf einen (web-)server upzuloaden verwende ich folgendes php-script: dateiauswahl.php: ... <input type ="file" name ="datei"> // usw. ... beim submit wird das script "upload.php" aufgerufen. Dieses greift via $FILES["datei"]["tmp_name"] auf die upgeloadedte Datei zu und kopiert sie in ein anderes Verzeichnis am Server. Danach wird die Datei gelesen und verarbeitet. Soweit, sogut + funktioniert auch alles. Nun will ich jedoch den Upload automatisieren. Dazu wird "dateiauswahl.php" im IExplorer Control angezeigt (wie bisher) in einem VB-Programm. Die Schritte: - auf "Browse"-Button klicken - Datei auswählen - "Submit" klicken sollten nun jedoch automatisch ablaufen. (Name + Pfad der zu bereitstellenden Datei ist natürlich bekannt) Ich hab bisher nur Lösungen gefunden, die solch einen Upload via ftp durchführen - ich würde es jedoch gernen auf die genannte weise durchführen. Wie würded ihr dieses Problem lösen ? fg -hannes ps: via "sendkeys" in VB halte ich nicht grad für eine "schöne" lösung... |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
![]() PHP-Code:
![]() ~
____________________________________
LOL - Mein erstes Post im Programmier Forum MACINTOSH - Most Applications Crash, If Not The Operating System Hangs |
![]() |
![]() |
![]() |
#3 |
Master
![]() Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550
|
![]() Hi!
Hilf meinem alten Hirn auf die Sprünge. Mir ist nicht ganz klar was mit PHP, und was mit VB erledigt werden soll. Für den Teil, der VB betrifft, kann ich dir vielleicht helfen. mfg WB |
![]() |
![]() |
![]() |
#4 |
Hero
![]() Registriert seit: 04.09.2001
Beiträge: 894
|
![]() hi !
@käptn: danke ! das umschreiben auf vb, sollt ich hinbekommen. nur so interessehalber: macht der browser das, wenn ich ein file via http uploade - versteckt - auch so ? @wbendl: php: das script zur auswahl der datei (dateiauswahl.php) und das script, welches diese upgeloadete datei dann verarbeitet. (upload.php) vb: programm, das auf einem client läuft - dieses hat in einem form das Internet Explorer Control - verbindet sich zum webserver und gibt als url die adresse von "dateiauswahl.php" an. Im VB-Programm wird daher eine Internetseite angezeigt, wie wenns im browser wäre. Dort wählt man eine Datei zum uploaden aus. Nachdem das "upload.php" diese verarbeit hat, schickt es xml an das Browser Control zurück. ...hoffe, das war verständlich fg -hannes |
![]() |
![]() |
![]() |
#5 |
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
![]() Net ganz,
so wie oben geschrieben findest du den Dateiinhalt am Server dann in $_POST['file']. Bei 'nem <input type="file"> isses ja normalerweise in $_FILES[] zu finden. Zu beachten ist dabei vielleicht noch, dass es eine php.ini Direktive namens post_max_size gibt, die AFAIR im Normalfall auf 2MB steht. ~
____________________________________
LOL - Mein erstes Post im Programmier Forum MACINTOSH - Most Applications Crash, If Not The Operating System Hangs |
![]() |
![]() |
![]() |
#6 |
Master
![]() Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550
|
![]() Hi!
Mal sehen, ob ich's richtig verstanden habe. Du hast das Programm eigentlich schon fertig, und es funktioniert auch. Du willst dir den Klick auf "Browse" und "Submit" ersparen, indem er vom VB-Programm automatisch ausgeführt wird. Das Ganze soll ohne "SendKeys" realisiert werden. Sag mir ob ich richtig liege, und wenn ja, was dich an "SendKeys" stört. mfg WB |
![]() |
![]() |
![]() |
#7 |
Hero
![]() Registriert seit: 04.09.2001
Beiträge: 894
|
![]() @käptn: aha - na das ist ja eh nur eine kleinigkeit zu ändern - und 2 mb für max. uploadvolumen sind in diesem fall bei weitem ausreichend.
@wbendl: ja, genau so hab ich das gemeint. ![]() hmm - an sendkeys stört mich, dass man dann doch das formular anzeigen muss (ok - ev. versteckt) und es ja eigentlich eine simulation von benutzereingaben ist - ich finde einfach, dass sowas eine "notlösung", aber sicher keine professionelle lösung ist. werde heute versuchen, den teil in vb zu programmieren - fall's funktioniert, poste ich das ergebnis natürlich. ![]() fg -hannes |
![]() |
![]() |
![]() |
#8 |
Hero
![]() Registriert seit: 04.09.2001
Beiträge: 894
|
![]() hi !
so - inzwischen hab ich das ganze gelöst und es funktioniert sogar. ![]() muss aber zugeben, dass ich dabei bissl "geschummelt" hab - hab nämlich beim suchen der hilfe zum vb socket control folgendes gefunden: http://www.internext.co.za/stefan/genericpost/ Diesen http-poster kann man natürlich in VB inkludieren und der macht dann die ganze arbeit. ![]() Der verbleibende VB-Code: Private Sub Auto_Upload_Click() On Error GoTo err_post Dim data As String, nextline As String Dim filenum As Integer Dim poster As INXHTTPPost.poster Dim e As Variant Set poster = New INXHTTPPost.poster filenum = FreeFile ' zu sendenede Daten auslesen ' hier pfad der .xml Datei angeben ! Open "C:\testfile.xml" For Input As filenum Do Until EOF(1) Line Input #filenum, nextline data = data + nextline + Chr(13) + Chr(10) Loop Close filenum poster.AddParam "fileNname", "12345_20031001.xml" poster.AddParam "uploadData", data e = poster.Post("http://localhost/webappl/upload.php", 0) If Len(e) > 0 Then Debug.Print "An error occured" Else ' Hier bekommt man das .xml - Ergebnis vom php-Script zurück Debug.Print "The Post was successful - Response: " + poster.LastResponse End If Exit Sub err_post: MsgBox Error End Sub in php ist das ganze dann in $POST["uploadData"] zugreifbar. fg -hannes |
![]() |
![]() |
![]() |
#9 |
Master
![]() Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550
|
![]() Hi!
Da bin ich jetzt wohl zu spät. Ich wollte auf das "Microsoft Internet Transfer Control" hinweisen. Das hat die Methode "Post", und erledigt diese Aufgabe. Weil du ein Control für einen Web-Browser verwendet hast, hab ich am Anfang nicht begriffen, daß du nichts am Bildschirm anzeigen willst. Aber das hat sich ja jetzt erledigt. mfg WB |
![]() |
![]() |
![]() |
#10 |
Hero
![]() Registriert seit: 04.09.2001
Beiträge: 894
|
![]() @wbendl: wo findet man denn das internet transfer control ? (ev. bau ich das ganze ja noch um)
Ist das standardmäßig mit VB mitinstalliert bzw. was muss ich bei den Components/References auswählen, damit ich dieses verwenden kann ? thx - hannes |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|