![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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で質問しましょう!
似たような質問が見つかりました
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- PHP php エラー 2 2022/10/23 16:43
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- その他(プログラミング・Web制作) cryptcatのビルド 4 2022/07/21 14:55
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- PHP php テーブルが作成できない 1 2022/11/17 23:41
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Flaskでサーバー立ち上げに関して
-
テキストボックスの値を取得したい
-
PHPで入力フォームでデータを確...
-
if文のなかで
-
php メールフォーム エラー表...
-
これに間違いはありますか?
-
php で画面にコードが表示され...
-
PHPのリロード時の処理
-
$_REQUESTの意味を教えて下さい
-
scanfでの読み込み文字数制限
-
POSTの項目に追加
-
Fortranでのファイル名操作につ...
-
PEAR Pagerについて
-
ディレクトリを表示
-
PHPからデータベースの該当行を...
-
ファイルのアップロードが出来ない
-
PDOのprepareでLIKEの部分一致...
-
DB接続やInsertでのエラーを画...
-
openCVのトラックバーについて
-
マクロ(VBA)について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA で、スペースを含むファイ...
-
Flaskでサーバー立ち上げに関して
-
POSTの項目に追加
-
ファイル名を変更してアップロ...
-
PHPで入力フォームでデータを確...
-
PHP MySql 画像を取得
-
foreachがうまく動かない
-
PHPからHTMLへの変数の受け...
-
phpで変数を使ってcopyできない
-
サブフォルダ内の全てのテキス...
-
UPDATEできない
-
php+mysqlでの重複チェックにつ...
-
phpでショッピングカート機能を...
-
fputcsv()で1レコード1行になる...
-
配列の値
-
openCVのトラックバーについて
-
if文のなかで
-
sqlite文字列を格納、出力
-
$a = ( $b == $c ) ? $d、 この...
-
$_REQUESTの意味を教えて下さい
おすすめ情報