ФорумПрограммированиеPHP для идиотов → Изменение имени картинки при загрузке на сервер

Изменение имени картинки при загрузке на сервер

  • Ter

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz Сен. 1, 2011, 1:14 д.п.

    Здравствуйте, такая проблема. Когда я загружаю картинку на сервер ей присваивается имя, которое было на компьютере… А как сделать так, чтобы при загрузке на сервер, ей давалось имя photo, а формат такой, какой был на компе.
    Вот сделал скриптик, но он в файл(бд) добавляет только photo. и всё, без формата. И фото само не загружает. хнык. помогите разобраться, тапками не кидайте только;)
    Скрипт:
    $tempfile1 = $_FILES['newimage']['tmp_name'];
    $newname5 = $_FILES['image']['name'];
    $filename1 = pathinfo($newname5);
    $newname1 = "photo.".$filename1['extension'];
    if (is_uploaded_file($tempfile1)) {
    copy ($tempfile1, $newname1);}
    $settings = "<?php
    \$login = $login;
    \$dynasty = $dynasty;
    \$name = $name;
    \$photo = $newname1;
    ?>";
    $settingsfile = fopen("settings.php","w");
    fputs($settingsfile, $settings);
    fclose($settingsfile);
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz Сен. 1, 2011, 1:42 д.п., спустя 28 минут 9 секунд

    1. Если я не ошибаюсь register_globals была удалена в новых версиях php (это я про $login = $login)
    2. Записывать настройки в php-файл в виде php-кода это плохо
    3. раз, два - это нужно тебе прочитать тщательно, а именно посмотри какие аргументы функция принимает и чем она вообще занимается
  • Ter

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz Сен. 1, 2011, 8:42 д.п., спустя 7 часов 16 секунд

    1. там выше типа вставлен инклуд и конфигурацией;)
    2. учту
    3. прочитаю
  • Ter

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz Сен. 1, 2011, 9:24 д.п., спустя 41 минуту 20 секунд

    почитал, попробовал сделать, но всё равно похожее… в чём тут ошибка?
    <?php
    echo "
    <html>
    <head>
    <title>SimsDynasties - Изменить аватар</title>
    <meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
    <link rel='stylesheet' href='../config-files/style.css' type='text/css'>
    </head>
    <body>
    <form method='post' action='changephoto.php'>
    <table width='65%' height='350' align='center' class='admin-table'>
    <tr><td>Выберите аватар:</td></tr>
    <tr><td><input type='hidden' name='MAX_FILE_SIZE' value='10000000'><input type='file' name='newimage'></td></tr>
    <tr><td colspan='2'><center><input type='submit' value='Изменить' name='change' class='button'></center></td></tr>
    <tr><td colspan='2'><center><a href='#' onClick=\"parent.self.close(); return false\">Закрыть</a></center></td></tr>
    </table></form><div id='copyright'>SimsDynasties © 2011</div>
    </body></html>";
    if($_POST['change']){
    $tempfile = $_FILES['newimage']['tmp_name'];
    $newnamefile = "photo.".basename($_FILES['newimage']['name'], PATHINFO_EXTENSION);
    if (is_uploaded_file($tempfile)) {
    move_uploaded_file($tempfile, $newnamefile);}
    $settings = "<?php
    \$login = $login;
    \$dynasty = $dynasty;
    \$name = $name;
    \$photo = $newnamefile;
    ?>";
    $settingsfile = fopen("settings.php","w");
    fputs($settingsfile, $settings);
    fclose($settingsfile);
    echo "
    <html>
    <head>
    <title>SimsDynasties - Изменить аватар</title>
    <meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
    <link rel='stylesheet' href='../config-files/style.css' type='text/css'>
    </head>
    <body>
    <form method='post' action='changephoto.php'>
    <table width='65%' height='350' align='center' class='admin-table'>
    <tr><td>Выберите аватар:</td></tr>
    <tr><td><center>Аватар изменён</center></td></tr>
    <tr><td colspan='2'><center><a href='#' onClick=\"parent.self.close(); return false\">Закрыть</a></center></td></tr>
    </table></form><div id='copyright'>SimsDynasties © 2011</div>
    </body></html>";
    }
    ?>

    Если файл загружен, то он файл с именем photo и форматом $_FILES['newimage']['tmp_name']; переносит в указанное место… В конфиругацию записывается только photo. и фото не грузится и формат не печатает
    $tempfile = $_FILES['newimage']['tmp_name'];
    $newnamefile = "photo.".basename($_FILES['newimage']['name'], PATHINFO_EXTENSION);
    if (is_uploaded_file($tempfile)) {
    move_uploaded_file($tempfile, $newnamefile);}
  • ivanscm

    Сообщения: 1251 Репутация: N Группа: Джедаи

    Spritz Сен. 1, 2011, 9:28 д.п., спустя 4 минуты 35 секунд

    http://www.tizag.com/phpT/fileupload.php кури манул блеать
    С возвращением, Пiха! hyperoff.ru - качественный хостинг php
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz Сен. 1, 2011, 11:06 д.п., спустя 1 час 38 минут 2 секунды

    … хнык …

    че за блядская мода?!
    Высокоуровневое абстрактное говно
  • Ter

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz Сен. 1, 2011, полдень, спустя 53 минуты 51 секунду


    … хнык …

    че за блядская мода?!

    хз.хз
  • Ter

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz Сен. 1, 2011, 1:47 п.п., спустя 1 час 47 минут 14 секунд

    Тема закрыта, всем спасибо за просмотр.
  • ivanscm

    Сообщения: 1251 Репутация: N Группа: Джедаи

    Spritz Сен. 1, 2011, 3:07 п.п., спустя 1 час 19 минут 33 секунды

    ну и дура
    С возвращением, Пiха! hyperoff.ru - качественный хостинг php

Пожалуйста, авторизуйтесь, чтобы написать комментарий!