質問編集履歴

1

質問内容の変更

2018/08/01 11:56

投稿

first_php
first_php

スコア20

test CHANGED
File without changes
test CHANGED
@@ -6,68 +6,124 @@
6
6
 
7
7
  ローカル上にあるPDFファイルを
8
8
 
9
- サーバーにアップロードする方法を教えていだけないしょうか。
9
+ サーバーにアップロードするところまでは行けすが
10
10
 
11
11
 
12
+
13
+ 落ちてたソースコードを使っており、
14
+
15
+ 意味も分からず利用している為、
16
+
17
+ 元のPDFファイルに無駄な情報が付与されてしまったようで、
18
+
19
+ 破損ファイル扱いされてしまいました。
12
20
 
13
21
 
14
22
 
15
23
  ```VBA
16
24
 
17
- Dim objHTTP
25
+ '送信側---------------------------------------------------------
18
26
 
27
+ Sub Sample()
28
+
29
+ '---------------------------------------------------------
30
+
31
+ Const UserID = "Mook"
32
+
33
+ Const PassWD = "OpenSesami"
34
+
35
+ Const CabinetID = 1
36
+
37
+ FileUpload "C:\Users\PC1\Desktop\AAAA.pdf", CabinetID, UserID, PassWD
38
+
39
+ End Sub
40
+
41
+ '---------------------------------------------------------
42
+
43
+ Sub FileUpload(filePath, CabID, UserID, PassWD)
44
+
45
+ '---------------------------------------------------------
46
+
47
+ Const Server = "11.222.333.44/test.php"
48
+
49
+ Dim strBoundary: strBoundary = DateDiff("s", "1970/1/1 0:00:00", DateAdd("h", -9, Now))
50
+
51
+ Set objHTTP = CreateObject("MSXML2.XMLHTTP")
52
+
53
+ Set Stream = CreateObject("ADODB.Stream")
54
+
55
+ Stream.Open
56
+
57
+ Stream.Type = 1
58
+
59
+ Stream.LoadFromFile filePath
60
+
61
+ objHTTP.Open "POST", "http://" & Server, False, UserID, PassWD
62
+
63
+ objHTTP.SetRequestHeader "Content-Type", "multipart/form-data; boundary=""" & strBoundary & """"
64
+
19
- Dim Stream
65
+ Dim str
66
+
67
+ str = "--" & strBoundary & vbCrLf
68
+
69
+ str = str & "Content-Disposition: form-data; name=""fdrParentSid""" & vbCrLf & vbCrLf
70
+
71
+ str = str & CabID & vbCrLf
72
+
73
+ str = str & "--" & strBoundary & vbCrLf
74
+
75
+ str = str & "Content-Disposition: form-data; name=""uploadFile""; filename=""" & Dir(filePath) & """" & vbCrLf
76
+
77
+ str = str & "Content-Type: text/plain" & vbCrLf & vbCrLf
78
+
79
+ str = str & Stream.Read() & vbCrLf
80
+
81
+ str = str & "--" & strBoundary & "--"
82
+
83
+ objHTTP.Send str
84
+
85
+ MsgBox objHTTP.responseText
86
+
87
+ End Sub
20
88
 
21
89
 
22
90
 
23
- ' XMLHTTPを作成
91
+ ```
24
92
 
25
- Set objHTTP = CreateObject("MSXML2.XMLHTTP")
93
+ ```PHP
26
94
 
27
- ' Stream オブジェクトの作成
95
+ if ( $_FILES['uploadFile']['error'] == UPLOAD_ERR_OK )
28
96
 
97
+ {
98
+
99
+
100
+
29
- Set Stream = CreateObject("ADODB.Stream")
101
+ $upload_file = "../test/" . $_FILES["uploadFile"]["name"] ;
30
102
 
31
103
 
32
104
 
33
- ' Streamのオープン
105
+ if ( move_uploaded_file( $_FILES["uploadFile"]['tmp_name'], $upload_file ) )
34
106
 
35
- Stream.Open
107
+ {
36
108
 
37
- Stream.Type = 1 ' adTypeBinary
109
+ // Read and write for owner, read for everybody
110
+
111
+ chmod($upload_file, 0644);
112
+
113
+ }
114
+
115
+ }
38
116
 
39
117
 
40
-
41
- ' 送信するファイルを読み込む
42
-
43
- Stream.LoadFromFile = "C:\xxx\hoge.pdf"
44
-
45
-
46
-
47
-
48
-
49
- Call objHTTP.Open("POST", "http://hogehoge.com/TextUp.php", False)
50
-
51
- Call objHTTP.setRequestHeader("Content-Length", Stream.Size)
52
-
53
- Call objHTTP.send(Stream.read(Stream.Size))
54
-
55
- msg1 = objHTTP.responsetext
56
-
57
-
58
-
59
- ' Streamを閉じる
60
-
61
- Stream.Close
62
118
 
63
119
  ```
64
120
 
65
121
 
66
122
 
67
- 上記ソースコード参考にし、
123
+ 上記、プログラムたたいて
68
124
 
69
- php側で、
125
+ pdfがサーバー上に作成はされるのすが
70
126
 
71
- print_r($_POST);
127
+ 無駄なパラメーターを付与してしまっているので
72
128
 
73
- したですが何も出力されておりませんでした
129
+ 破損させないようにしたです。