2016-07-26 28 views
2

アップロードするファイルをphpを使用してアップロードして、そのファイルでいくつかのファイル操作を実行したかったのですが、私はファイルをアップロードすることができません。もし誰かが、ファイルがアップロードされている場所からのパスを取得する方法を、サーバー側で助けてくださいいくつか持っている?アップロードする方法<input type = "file">

$ target_dir = 'uploads /';私のために働いていません。私のファイルはDです:助けてください。

PHPコード:

<?php  
if(isset($_POST['SubmitButton'])){ //check if form was submitted 

$target_dir = 'uploads/'; 
$target_file = $target_dir . basename($_FILES["filepath"]["name"]); 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 

require_once dirname(__FILE__) . '/Includes/Classes/PHPExcel/IOFactory.php'; 

$inputFileType = PHPExcel_IOFactory::identify($target_file); 

$objReader = PHPExcel_IOFactory::createReader($inputFileType); 
$objPHPExcel = $objReader->load($target_file); 

$i=2; 
$val=array(); 
$count=0; 
for($i=2;$i<34;$i++) 
{ 
$val[$count++]=$objPHPExcel->getActiveSheet()->getCell('C'.$i)->getValue(); 
} 
//echo'<pre>';print_r($val); 
}  
?> 

HTMLのCODE:

<body> 
<form action="" method="post" enctype="multipart/form-data"> 
<input type="file" name="filepath" id="filepath"/></td><td><input type="submit" name="SubmitButton"/> 
</body> 

答えて

1

$target_dir = 'uploads/'; 
$target_file = $target_dir . basename($_FILES["filepath"]["name"]); 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 

move_uploaded_file($_FILES["filepath"]["tmp_name"], $target_file); 

// rest of your code... 

今あなたはファイルの作業を続けることができるはずです。この前に にアップロードされたファイルはアップロードフォルダに保存されていません。

+0

私はこのエラーが発生しています:警告:move_uploaded_file(アップロード/test1.xlsx):ストリームを開けませんでした: – anish

+0

move_uploaded_fileは2つのパラメータを受け取る必要があります。私の例をもう一度見てください。あなたはソースのtmp_nameを見逃しました –

+0

これで($ _FILES ["filepath"] ["tmp_name"]、$ target_file); ["filepath"]とは何ですか? – anish

0

Uは、ファイルをアップロードするためのコードを書いていません。

読み取りラインの前にファイルをアップロードすることができ最初の必要性
move_uploaded_file() 
+0

は、あなたがそれを少し詳しく説明していただけますか? – anish

+0

あなたは、urファイルがアップロードされていないと言っています。現在、urファイルは一時ディレクトリにあります。あなたはmove_uploaded_fileを使ってファイルを目的のディレクトリに移動しなければなりません。完全な参照はhttp://php.net/manual/en/function.move-uploaded-file.php –

0

move_uploaded_file()機能を使用して、ファイルを一時アップロードディレクトリから必要なディレクトリに移動する必要があります。

move_uploaded_file()関数には、今アップロードした一時ファイル(例:$_FILES["file"]["tmp_name"])、次に移動先のディレクトリの2つの引数があります。この:move_uploaded_file($_FILES["file"]["tmp_name"], $path_of_new_file)

+0

警告:move_uploaded_file(uploads/test1.xlsx):ストリームを開けませんでした。test.xlsxがDにあります:/システムがどのようになるのですかそれは特にDからそれを取らなければならないことを知るために:のみといくつかの人がEでそれを持っている場合:? – anish

0
if(isset($_POST['SubmitButton'])){ 
    try {  //attached file formate 
    $statement = $db->prepare("SHOW TABLE STATUS LIKE 'table_name'"); 
    $statement->execute(); 
    $result = $statement->fetchAll(); 
    foreach($result as $row) 
     $new_id = $row[10]; //10 fixed 

    $up_filename=$_FILES["filepath"]["name"]; 
    $file_basename = substr($up_filename, 0, strripos($up_filename, '.')); // strip extention 
    $file_ext = substr($up_filename, strripos($up_filename, '.')); // strip name 
    $f2 = $new_id . $file_ext; 

    move_uploaded_file($_FILES["filepath"]["tmp_name"],"uploads/" . $f2); 

    // Client's info Insert MySQl 
    $statement = $db->prepare("INSERT INTO table_name (files) VALUES (?)"); 
    $statement->execute(array($f2)); 

    $success_message = "Excel file upload successfully!"; 
} 
catch(Exception $e) { 
     $error_message = $e->getMessage(); 
} 
} 

フォームコード:

<form action="" method="post" enctype="multipart/form-data"> <input 
type="file" name="filepath" id="filepath"/></td><td><input 
type="submit" name="SubmitButton"/> 
</form> 
関連する問題