Загрузка файлов на сервер
То, что это делается через форму и так ясно. Меня интересуют функции, способные выполнить эти операции.
Заранее спасибо! :)
Цитата:
Originally posted by Archimonde
Как это можно сделать через php, если известен путь к файлу на родительском компьютере (лежит в переменной $pathfile и имеет вид "C:\dir\file.jpg") и конечная директория на компьютере сервера (D:\upload\)? И можно ли его при этом переименовать?
То, что это делается через форму и так ясно. Меня интересуют функции, способные выполнить эти операции.
Заранее спасибо! :)
Как это можно сделать через php, если известен путь к файлу на родительском компьютере (лежит в переменной $pathfile и имеет вид "C:\dir\file.jpg") и конечная директория на компьютере сервера (D:\upload\)? И можно ли его при этом переименовать?
То, что это делается через форму и так ясно. Меня интересуют функции, способные выполнить эти операции.
Заранее спасибо! :)
http://ru2.php.net/manual/ru/ref.filesystem.php подробнее о механизме file upload http://detail.phpclub.net/article/upload
это механизм file upload. кратко: вначале получаешь файл в темп директорию сервера, потом уже его переносишь, переименуешь и т.д. функции работы с файлами и директориями см. здесь:
Вот что у меня получилось. Но почему-то не работает :(
Скажите пожалуйста, что здесь неправильно?
<FORM ACTION='submitfilm.php' METHOD=POST>
<input type="file" name="pict" class="post"/>
</form>
в файле submitfilm.php есть запись:
$result=mysql_query("SELECT max(id_f) from films");
$row = mysql_fetch_row($result);
$lastid = $row[0];
$max_image_width = 430;
$max_image_height = 640;
$max_image_size = 120 * 1024;
$valid_types = array("gif","jpg", "png", "jpeg");
if (isset($_FILES["pict"])) {
if (is_uploaded_file($_FILES['pict']['tmp_name'])) {
$filename = $_FILES['pict']['tmp_name'];
$ext = substr($_FILES['pict']['name'],
1 + strrpos($_FILES['pict']['name'], "."));
if (filesize($filename) > $max_image_size) {
echo 'Файл больше чем 120 кб';
} elseif (!in_array($ext, $valid_types)) {
echo 'Недопустимый формат';
} else {
$size = GetImageSize($filename);
if (($size) && ($size[0] < $max_image_width)
&& ($size[1] < $max_image_height)) {
if (@move_uploaded_file($filename, "/films/")) {
$s = 1;
} else {
$s = 0;
}
} else {
$s = 0;
}
}
} else {
$s = 0;
}
}
mysql_query("update films set pict=$s where id_f=$lastid");
предпологалось, что если картинка загрузится на сервер, то значение столбца pict в базе данных будет 1, в остальных случаях 0, для того и создавалась переменная $s, но это тоже почему-то не получилось :{
Заранее спасибо!