กรณีการสร้างฐานข้อมูลและมีการ upload file ไปยัง เซิร์ฟเวอร์

wave
Sanya Namburi
2,221
สังคมนักพัฒนาระบบ (Community)
กรณีการสร้างฐานข้อมูลและมีการ upload file ไปยัง เซิร์ฟเวอร์

<p>อยากทราบวิธีการ Upload file <span style="background-color: initial;">ไปยัง เซิร์ฟเวอร์ </span><span style="background-color: initial;">ผ่าน ฟอร์มการรับข้อมูล<br></span></p><p><span style="background-color: initial;">&lt;!-------------------------------------------------------------------------------------------------------------------------------&gt;</span></p><p>&lt;?php $form=$this-&gt;beginWidget('bootstrap.widgets.TbActiveForm',array(</p><p>'id'=&gt;'research-form',</p><p>'enableAjaxValidation'=&gt;false,</p><p>)); ?&gt;</p><p>&lt;p&gt;Fields with &lt;span&gt;*&lt;/span&gt; are required.&lt;/p&gt;</p><p>&lt;?php echo $form-&gt;errorSummary($model); ?&gt;</p><p>&lt;?php echo $form-&gt;textFieldRow($model,'research_name',array('class'=&gt;'span5','maxlength'=&gt;100)); ?&gt;</p><p>&lt;?php echo $form-&gt;textFieldRow($model,'researcher',array('class'=&gt;'span5','maxlength'=&gt;150)); ?&gt;</p><p>&lt;?php echo $form-&gt;textFieldRow($model,'keyword',array('class'=&gt;'span5','maxlength'=&gt;150)); ?&gt;</p><p>&lt;?php echo $form-&gt;textFieldRow($model,'content_type',array('class'=&gt;'span5','maxlength'=&gt;100)); ?&gt;</p><p>&lt;?php echo $form-&gt;textFieldRow($model,'publication_year',array('class'=&gt;'span5','maxlength'=&gt;45)); ?&gt;</p><p>&lt;?php echo $form-&gt;textFieldRow($model,'abstract',array('class'=&gt;'span5','maxlength'=&gt;300)); ?&gt;</p><p>&lt;?php echo $form-&gt;textAreaRow($model,'research_file',array('rows'=&gt;6, 'cols'=&gt;50, 'class'=&gt;'span8')); ?&gt;</p><p> &lt;!----------------------------------------&gt;</p><p> &lt;div&gt;</p><p> &lt;div&gt;</p><p> &lt;label&gt;อัพโหลดเอกสารงานวิจัย(Full Text)&lt;/label&gt;</p><p> &lt;input id="input-1a" type="file" data-show-preview="false"&gt;</p><p> &lt;/div&gt;</p><p> &lt;div&gt;</p><p> &lt;div&gt;Hide file preview thumbnails&lt;/div&gt; </p><p> &lt;/div&gt;</p><p> &lt;!----------------------------------------&gt;</p><p>&lt;?php echo $form-&gt;textFieldRow($model,'budget',array('class'=&gt;'span5','maxlength'=&gt;50)); ?&gt;</p><p>&lt;?php echo $form-&gt;textFieldRow($model,'researcher_id',array('class'=&gt;'span5')); ?&gt;</p><p>&lt;?php echo $form-&gt;textFieldRow($model,'budget_type_id',array('class'=&gt;'span5')); ?&gt;</p><p>&lt;!----------------------------------------------------------&gt;</p><p> &lt;div&gt;</p><p>&lt;?php $this-&gt;widget('bootstrap.widgets.TbButton', array(</p><p>'buttonType'=&gt;'submit',</p><p>'type'=&gt;'primary',</p><p>'label'=&gt;$model-&gt;isNewRecord ? 'Create' : 'Save',</p><p>)); ?&gt;</p><p>&lt;/div&gt; </p><p>&lt;/div&gt;</p><p>&lt;?php $this-&gt;endWidget(); ?&gt;</p><p>&lt;!-------------------------------------------------------------------------------------------------------------------------------------------------------&gt;</p>

5 ความคิดเห็น

  • มานพ กองอุ่น

  • Sanya Namburi

อยากทราบวิธีการ Upload file ไปยัง เซิร์ฟเวอร์ ผ่าน ฟอร์มการรับข้อมูล

<!------------------------------------------------------------------------------------------------------------------------------->

<?php $form=$this->beginWidget('bootstrap.widgets.TbActiveForm',array(

'id'=>'research-form',

'enableAjaxValidation'=>false,

)); ?>

<p>Fields with <span>*</span> are required.</p>

<?php echo $form->errorSummary($model); ?>

<?php echo $form->textFieldRow($model,'research_name',array('class'=>'span5','maxlength'=>100)); ?>

<?php echo $form->textFieldRow($model,'researcher',array('class'=>'span5','maxlength'=>150)); ?>

<?php echo $form->textFieldRow($model,'keyword',array('class'=>'span5','maxlength'=>150)); ?>

<?php echo $form->textFieldRow($model,'content_type',array('class'=>'span5','maxlength'=>100)); ?>

<?php echo $form->textFieldRow($model,'publication_year',array('class'=>'span5','maxlength'=>45)); ?>

<?php echo $form->textFieldRow($model,'abstract',array('class'=>'span5','maxlength'=>300)); ?>

<?php echo $form->textAreaRow($model,'research_file',array('rows'=>6, 'cols'=>50, 'class'=>'span8')); ?>

<!---------------------------------------->

<div>

<div>

<label>อัพโหลดเอกสารงานวิจัย(Full Text)</label>

<input id="input-1a" type="file" data-show-preview="false">

</div>

<div>

<div>Hide file preview thumbnails</div>

</div>

<!---------------------------------------->

<?php echo $form->textFieldRow($model,'budget',array('class'=>'span5','maxlength'=>50)); ?>

<?php echo $form->textFieldRow($model,'researcher_id',array('class'=>'span5')); ?>

<?php echo $form->textFieldRow($model,'budget_type_id',array('class'=>'span5')); ?>

<!---------------------------------------------------------->

<div>

<?php $this->widget('bootstrap.widgets.TbButton', array(

'buttonType'=>'submit',

'type'=>'primary',

'label'=>$model->isNewRecord ? 'Create' : 'Save',

)); ?>

</div>

</div>

<?php $this->endWidget(); ?>

<!------------------------------------------------------------------------------------------------------------------------------------------------------->

สวัสดีครับ

มีวิธีการอัพโหลดอยู่ 2 แบบนะครับ

แบบแรกคืออัพโหลดเข้าฐานข้อมูล
แบบที่สองคืออัพโหลดเข้าโฟลเดอร์แล้วเอาชื่อเก็บไว้ในฐานข้อมูล

ถ้าเป็นแบบแรกลองศึกษาอันนี้ครับ http://www.yiiframework.com/wiki/95/saving-files-t... หรือ http://www.yiiframework.com/forum/index.php/topic/...

แต่ข้อเสียของแบบแรกคือฐานข้อมูลจะใหญ่มากครับถ้ามีข้อมูลเยอะ


แบบที่สองลองศึกษาอันนี้ครับ http://www.yiiframework.com/wiki/2/how-to-upload-a...

หวังว่าจะเป็นประโยชน์นะครับ

รบกวนสอบถาม ครับทำไม โปรเจ็คที่เราสร้างเมื่ออัพโหลดลงใน เซิร์ฟเวอร์จริง แล้วถึงไม่แสดงผล อะไรเลย ขึ้นเป็นหน้าจอว่างๆไม่มีอะไรขึ้นเลย ฟ้อง error ก็ไม่มี

แต่ในขณะที่รันใน localhost ใช้ได้ปกติทุกอย่าง ลองเทส requirements แล้ว ได้อย่างนี้ครับ

PHP versionPassedYii FrameworkPHP 5.1.0 or higher is required.
$_SERVER variablePassedYii Framework
Reflection extensionPassedYii Framework
PCRE extensionPassedYii Framework
SPL extensionPassedYii Framework
DOM extensionPassedCHtmlPurifier, CWsdlGenerator
PDO extensionPassedAll DB-related classes
PDO SQLite extensionWarningAll DB-related classesRequired for SQLite database.
PDO MySQL extensionPassedAll DB-related classesRequired for MySQL database.
PDO PostgreSQL extensionWarningAll DB-related classesRequired for PostgreSQL database.
PDO Oracle extensionWarningAll DB-related classesRequired for Oracle database.
PDO MSSQL extension (pdo_mssql)WarningAll DB-related classesRequired for MSSQL database from MS Windows
PDO MSSQL extension (pdo_dblib)WarningAll DB-related classesRequired for MSSQL database from GNU/Linux or other UNIX.
PDO MSSQL extension (pdo_sqlsrv)WarningAll DB-related classesRequired for MSSQL database with the driver provided by Microsoft.
PDO ODBC extensionWarningAll DB-related classesRequired in case database interaction will be through ODBC layer.
Memcache extensionWarningCMemCache
APC extensionWarningCApcCache
Mcrypt extensionPassedCSecurityManagerRequired by encrypt and decrypt methods.
crypt() CRYPT_BLOWFISH optionPassedCPasswordHelperRequired for secure password storage.
SOAP extensionPassedCWebService, CWebServiceAction
GD extension with
FreeType support
or ImageMagick
extension with
PNG support
PassedCCaptchaAction
Ctype extensionPassedCDateFormatter, CDateTimeParser,CTextHighlighter,CHtmlPurifier
Fileinfo extensionPassedCFileValidatorRequired for MIME-type validation

ขอบคุณมากครับ

ได้ตอบใน http://www.programmerthailand.com/forum/thread/view/id/774 แล้วครับ