
PHP5で、以下のクラスで構文エラーが出てしまいます。
//===================================================
<?php
class fileUpload{
define (kakunou_PATH, "../cast_img/" .$_FILES["file_data1"]["name"]);
var $error_message;
function fileUpload($ftmp_name, $fsize;){
(省略)
}
}
//===================================================
*****エラーメッセージ********************************
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/sites/heteml/users61/v/e/n/venusline/web/config/fileUpload_class.php on line 5
*****************************************************
5行目はdefine()の行です。
ちなみにここでパスを定義してますが、
define()を使うのでは無く
var $path = 'パス名';
としても同じエラー。
また、$_FILESの記述を削っても同じエラーが出ます。
エラー文中のT_OLD_FUNCTION が気になったので、
一応コンストラクタを__constructにも変えてみたのですがやはりダメでした・・
どなたかエラーの原因が解る方、どうぞ宜しくお願いします。
No.3ベストアンサー
- 回答日時:
No1です。
訂正ですごめんなさい。fileUploadっていうメソッドは既にあったですね・・・
php5だと
class fileUpload{
const kakunou_PATH = "../cast_img/";
protected $_path;
protected $error_message;
function __construct($ftmp_name, $fsize){
$this->_path = self::kakunou_PATH.$_FILES["file_data1"]["name"];
//(省略)
}
}
//end of class
php4だとこうです。
class fileUpload{
const kakunou_PATH = "../cast_img/";
var $_path;
var $error_message;
function fileUpload($ftmp_name, $fsize){
$this->_path = self::kakunou_PATH.$_FILES["file_data1"]["name"];
//(省略)
}
}
//end of class
この回答への補足
#1さん>お返事ありがとうございます☆
確かにコンストラクタの前でグローバル変数を突っ込むのはおかしいですね・・(_ _;)
constも勉強になりました!
しかしご教示の通り、自分でも間違いを納得しつつ以下のソースへ直しましたが、まだ同じエラーが出てしまいます。(行数も同じ)
---今回は修正ソースをまんまコピペしてます-----------------------
<?php
class fileUpload{
const kakunou_PATH = "../cast_img/";
var $_path;
var $error_message;
function fileUpload($ftmp_name, $fsize){
$this->_path = self::kakunou_PATH.$_FILES["file_data1"]["name"];
if ($fsize == 0) {
$this->error_message = "ファイルが存在しません";
return $this->error_message;
exit;
} else {//アップロードファイルされたテンポラリファイルをファイル格納パスにコピーする
$result = @move_uploaded_file($ftmp_name, $this->filename);
if ($result == "true") {
$this->error_message = "0";
} else {
$this->error_message = "アップロード失敗";
}
}
return $this->error_message;
}
}
------------------------------------------------------------
初めは#2さんのおっしゃる通りネストチェックもしてみたのですが・・
前回と全く同じエラー文なので、エラー行は最初の定義行
const kakunou_PATH
ということになります。私にはこの行以外のどこかに間違いがあるように思えるのですが・・
No.1
- 回答日時:
根本的にPHP(というか他の言語でもいえますが)の文法を理解されていないのではないでしょうか?
class内定数は、defineはなく、constで定義します。
const kakunou_PATH = "../cast_img/" .$_FILES["file_data1"]["name"];
ただし、これもエラーです。
class内定数は、変数を代入できません。というか、グローバル変数をここで突っ込むこと事態がおかしいことです。
const kakunou_PATH = "../cast_img/";
と定義しておいて、
const kakunou_PATH = "../cast_img/";
protected $_path;
public function __construct(){
$this->_path = self::kakunou_PATH.$_FILES["file_data1"]["name"];
}
コンストラクタで $this->_pathに突っ込んでおきましょう。
さらに、ここ。
function fileUpload($ftmp_name, $fsize;){
$fsize の後の「;」は不要
function fileUpload($ftmp_name, $fsize){
こうなります。
まとめると
class fileUpload{
const kakunou_PATH = "../cast_img/";
protected $_path;
protected $error_message;
public function __construct(){
$this->_path = self::kakunou_PATH.$_FILES["file_data1"]["name"];
}
function fileUpload($ftmp_name, $fsize){
//(省略)
}
}
//end of class
こんな感じです。
ただし、PHP5での書き方です。PHP4だと
class fileUpload{
const kakunou_PATH = "../cast_img/";
var $_path;
var $error_message;
public function fileUpload(){
$this->_path = self::kakunou_PATH.$_FILES["file_data1"]["name"];
}
function fileUpload($ftmp_name, $fsize){
//(省略)
}
}
//end of class
こんな感じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpのheader("Location:#pos")...
-
PHP8でWarning:Undefined varia...
-
フォームで戻った際に入力済み...
-
csvファイルについて教えて下さ...
-
セッション関数を使わずにファ...
-
composerをインストールしたい...
-
SplFileObject を利用したとき...
-
PHPSpreadsheetによる書き出し...
-
phpの問い合わせフォームを作っ...
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
-
PHPからCSVをアップロード後、m...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php+mysqlでの重複チェックにつ...
-
Flaskでサーバー立ち上げに関して
-
POSTの項目に追加
-
重複を防ぐ記述について教えて...
-
複数条件での検索について教え...
-
アップロードファイル名の文字化け
-
サブフォルダ内の全てのテキス...
-
php、sqlite3にデーター追加で...
-
phpで変数を使ってcopyできない
-
配列について教えて下さい。
-
$_SESSIONに渡した後はそのまま...
-
phpで掲示板を作りたい
-
JSONデータ登録について
-
$_REQUESTの意味を教えて下さい
-
空文字
-
PHP等を用いて在庫数を表示・管...
-
Fortranでのファイル名操作につ...
-
VBA で、スペースを含むファイ...
-
header()関数について
-
PHPでParse errorについて
おすすめ情報