PDA

View Full Version : دریافت از فرم و اجرا توسط php



alireza.pc
یک شنبه 20 اردیبهشت 1394, 15:01 عصر
باسلام خدمت دوستان عزیز
بنده از این اسکریپت برای انتقال فایل هام بروی سرور استفاده میکنم:


<?php
define('BUFSIZ', 4095);
$url = 'URL';
$rfile = fopen($url, 'r');$lfile = fopen(basename($url), 'w');
while(!feof($rfile))fwrite($lfile, fread($rfile, BUFSIZ), BUFSIZ);
fclose($rfile);fclose($lfile);
?>


اگر بخوام قسمت URL رو توسط یک textbox دریافت کنم،چکاری بایست انجام بشه؟
الان بنده این فرم رو هم طراحی کردم:


<html>
<body>
<form action="dl.php" method="post" dir="rtl" style="text-align:center">
لینک: <input name="username" type="text" style="width:500px;" />
<input type="submit" value="دانلود" />
</form>
</body>
</html>


ولی هیچ آشنایی با php ندارم و نمیدونم بایست چکار کنم،لطفا راهنمایی بفرمایید
مرسی

reza_alie
یک شنبه 20 اردیبهشت 1394, 15:38 عصر
سلام به این صورت عمل کن



$url=$_POST['url'];

alireza.pc
یک شنبه 20 اردیبهشت 1394, 17:32 عصر
سلام به این صورت عمل کن



$url=$_POST['url'];


بجای ['url'] بایست ['username '] قرار بدم؟(نام فلید دریافتی)
الان تست کردم فایل دانلود نمیشه یعنی فایل رو میاره به حجم 0 کیلو

tuytoosh
دوشنبه 21 اردیبهشت 1394, 00:02 صبح
خیلی جالبه. 50 درصد سوال هایی رو که تو این انجمن پرسیده میشه رو نمیشه اصلا تشخیص داد چی میخوان... :افسرده:

برای انتقال فایل به سرور از input با نوع فایل استفاده کنید و فایل رو منتقل کنید...

یا شایدم منظورتون یه چیز دیگست...

alireza.pc
دوشنبه 21 اردیبهشت 1394, 11:02 صبح
خیلی جالبه. 50 درصد سوال هایی رو که تو این انجمن پرسیده میشه رو نمیشه اصلا تشخیص داد چی میخوان... :افسرده:

برای انتقال فایل به سرور از input با نوع فایل استفاده کنید و فایل رو منتقل کنید...

یا شایدم منظورتون یه چیز دیگست...

ممنون از پاسختون ولی احتمالا پست اول رو مطالعه نفرمودید چون فکر میکنم کاملا مشخص باشه :لبخند:

MMSHFE
دوشنبه 21 اردیبهشت 1394, 11:15 صبح
<html>
<body>
<form action="dl.php" method="post" dir="rtl" style="text-align:center">
لینک: <input name="url" type="text" style="width:500px;" />
<input type="submit" value="دانلود" />
</form>
</body>
</html>

<?php
define('BUFFER_SIZE', 4096);
if(isset($_POST['url'])) {
$url = $_POST['url'];
if($remoteFile = fopen($url, 'r')) {
$urlParts = explode('/', $urlParts);
if($localFile = fopen(end($urlParts), 'w')) {
while(!feof($remoteFile)) {
fwrite($localFile, fread($remoteFile, BUFFER_SIZE), BUFFER_SIZE);
}
fclose($localFile);
}
fclose($remoteFile);
}
}
?>

alireza.pc
سه شنبه 22 اردیبهشت 1394, 00:35 صبح
جناب شهرکی عزیز مرسی ولی متاسفانه جواب نداد
فایلم رو پیوست کردم جهت بررسی بیشتر
ممنونم!

morteza5691
سه شنبه 22 اردیبهشت 1394, 23:08 عصر
دوست عزیز . . . از تابع copy استفاده کن. خیلی راحت تره :چشمک:


<html>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" dir="rtl" style="text-align:center">
لینک: <input name="url" type="text" style="width:500px;" />
<input type="submit" value="دانلود" />
</form>
</body>
</html>

<?php
$allow_size = "4096"; // KB
$folder = "upload/";

if(isset($_POST['url'])) {
$url = $_POST['url'];
$file_name = strtolower(basename($url)); // نام فایل

// حجم فایل
function remote_file_size($link){
@$data = get_headers($link, true);
if(isset($data['Content-Length']))
return $data['Content-Length'];
}
$file_size = remote_file_size($url);
$file_size = round($file_size/1024, 2); // KB

if($file_size > $allow_size) {
echo "حجم فایل غیر مجاز است!";
}
elseif(@copy($url, $folder.$file_name)) {
echo "فایل آپلود شد.";
}
else {
echo "فایل آپلود نـشد!";
}
}
?>