چه جوری باید مسیر یک فایل را از روی کامپیوتر پیدا کنیم تا بشه اون را Upload کرد
چه جوری باید مسیر یک فایل را از روی کامپیوتر پیدا کنیم تا بشه اون را Upload کرد
در صفحه html باید از یک File Field استفاده کنید .
<input type="file" name="file" />
اما برای انتقال اون فایل انتخاب شده به روی سرور باید یک زبان برنامه نویسی server side بدونید تا کدی بنویسید که اون فایل رو به سرور انتقال بده ( مثل PHP یا ASP.NET یا ASP یا ...)
البته در ASP.NET کنترل مخصوص این کار FileUpload نام داره و ...
جاوااسکریپت فقط رو کامپروتر کاربر که من و شما باشیم اجرا میشه مثله html که براوزر تفسیرش می کنه . پس بدرد upload عکس نمی خوره ما زبونی رو می خوایم که رو سرور اجرا بشه تا بتونه ورودی های کاربر رو بگیره و بر اساس ورودی ها یه خروجی به کاربر نشون بده . پس من به شما پیشنهاد می کنم یکی از زبونای تحت سرور رو انتخاب کنبد تا پا به عرصه برنامه نویسی دینامیک بزارید . زبونای زیادی وجود داره مثه asp , asp.net , php , jsp , cgi , ...
شاید برای شروع , کار با asp ( البته تقریبا منسوخ شده ) برای شما بهتر باشه چون با javascript میشه نوشتش و دستورات و اشیا سرورش خیلی کمه و همه امکانات واسه اجرا رو ویندوز توسط iis تو ویندوز کامپوننت در اختیارتون گذاشته .
یه سری به سایت w3.org بزنید .
این کد PHP برای آپلود فایل روی سرور
ولی باید پرمیژن فولدری که می خوای فایلو اونجا آپلود کنی جوری باشه که اجازه ایجاد فایلو بده (777)
<?php
$action = $_POST["action"];
$max_size = "1048576"; // Max size in BYTES (1MB)
echo "
<b>Uploader</b><br>
<form action='upload.php' method=post enctype='multipart/form-data'>
File (max size: $max_size bytes/".($max_size/1024)." kb):<br>
<!-- <input type='hidden' name='MAX_FILE_SIZE' value='$max_size'> (removed because it wasn't working properly) -->
<input type='file' name='filename'><br>
<input type='hidden' name='action' value='upload'>
<input type='submit' value='Upload File'>
</form>";
if ($action == 'upload')
{
if ($_FILES["filename"]["size"] > $max_size) die ("<b>File too big! Try again...</b>");
copy($_FILES["filename"]["tmp_name"],"./".$_FILES["filename"]["name"]) or die("<b>Unknown error!</b>");
echo "<b>File Uploaded.</b>"; // for debug --> $filename --> ".$destination."/".$filename_name."</h2>";
}
?>
ولی یادت باشه مسائل امنیتی تو این کد به طور کامل رعایت نشده !
مشکل من اینه که مسیر فایل را از روی کامپیوتری که قراره فایل UPLOAD بشه نمی توانم بخوانم
و فقط از یک مسیر ثابت می توانم عکس UPLOAD کنم